NetBeans 모듈 용 NavigatorPanel을 구현하려고합니다. 이제 파서를 호출하고 탐색기를 업데이트 할 수 있도록 연결된 DataObject가 수정 될 때마다 항상 알림을 받고 싶습니다.DataObject API를 사용하여 NetBeans에서 파일 내용 변경에 대한 알림을받는 방법
DataObject에 PropertyChangeListener를 추가하려고 시도했지만 문서에 대한 첫 번째 변경 사항 만 알려주므로 그게 전부입니다. 그러나 처음으로 PropertyChangeListener.propertyChange() 메서드가 호출되고 propertyName이 "COOKIE"로 설정되고 두 번째로 "MODIFIED"로 설정되었음을 알았습니다.
에 대한 아이디어는 항상입니다 (기본 FileObject!가 아닌) 편집기에서 문서의 내용이 변경되면 알림을 받습니까?
편집 : 나는 이미 http://wiki.netbeans.org/DevFaqListenForSaveEvents을 보았다. PropertyChangeListener는 문서 저장에 대한 정보 (예 : Ctrl + S)를 얻기 위해 사용되며 콘텐츠 수정에 대한 알림을 받으려면 대신 FileChangeListener를 사용해야한다고 명시합니다. 그러나 그것은 저를 위해 작동하지 않았습니다. 두 경우 모두 PropertyChangeListener를 사용할 때를 제외하고 편집기에서 문서를 수정할 때 알림을받지 못합니다. 그런 다음 알림을받습니다. 처음에는 뭔가를 편집 할 때만 사용할 수 있습니다. 자주하는 질문).
EDIT2 : 아직 제대로 알리는 방법을 찾지 못했습니다. 하지만 필자의 경우 다른 관점에서 실제로 목표에 접근해야합니다. 즉, 구문 분석 결과를 기반으로 NavigatorPanel을 업데이트해야하므로 ParserResultTask를 등록해야합니다. 이를 통해 언제 알림을 받아야하는지 정의 할 수 있으며 알림을 받으면 패널을 업데이트하는 데 필요한 이미 파싱 된 결과를 얻을 수 있습니다.
글쎄,이 질문에 대한 직접적인 대답은 아니지만이 문제에 대한보다 적절한 해결책입니다.
당신은 이미 이것을 보았습니까? http://wiki.netbeans.org/DevFaqListenForSaveEvents – ShaggyInjun
@ShaggyInjun 감사합니다. 편집을 참조하십시오. – bcause