2014-11-15 9 views
0

NetBeans 플랫폼 용 플러그인을 작성 중이므로 편집기 창에서 강제로 내용을 하드 드라이브에서 업데이트 할 수 있는지 알고 싶습니다. HDD의 일부 파일이 변경되었지만 NetBeans가이를 인식하지 못하는 상황에 처해 있습니다.NetBeans 플랫폼 : 편집기 창 내용 업데이트

dataObject.getLookup().lookup(EditorCookie.class); 
StyledDocument document = cookie.getDocument(); 
JEditorPane editor = cookie.getOpenedPanes()[0]; 

// Looking for something like 
document.forceUpdate(); 
//or 
editor.forceUpdate(); 
//or 
dataObject.forceUpdate(); 

답변

0

FileObject.refresh() 편집자는 당신이 언급 한 레이어를 통해 변경 사항을 청취해야합니다.

+0

재미있는 점은 FileObject의 소스를 보면 refresh() 구현이 비어 있고 refresh (boolean)가 refresh()를 가리키고 있다는 것입니다. 그럼에도 불구하고 나는 그것을 시도해 볼 것입니다, 아마도 반사와 함께 어떤 마술은 백그라운드에서 일어나고 있습니다. – Yser

+0

FileSystems API의'FileObject'는 추상입니다. 소위 마법은 실제 구현의 어딘가에 있습니다. 예를 들어'masterfs/src/org/netbeans/modules/masterfs/filebasedfs/fileobjects/BaseFileObj.java' – Radim

+0

Ups, correct. 그럼에도 불구하고 refresh()가 편집기를 제대로 업데이트하지 않습니다. 사실 그것은 때로는 단지 원시 상황에서 발생합니다. IDE가 refresh()의 첫 번째 호출에서 부팅되면. 그러나 항상 다시는 아닙니다. – Yser