PropertySheetView 구성 요소를 사용하여 노드의 속성을 시각화하고 편집합니다. 이 뷰는 항상 객체의 가장 최근 속성을 반영해야합니다. 다른 프로세스에서 개체가 변경되면 어떻게 든 새로 고쳐서 업데이트 된 속성을보고 싶습니다.NetBeans 플랫폼 - 노드의 등록 정보 시트보기를 새로 고치는 방법?
내가이 일을 할 수 있었다 가장 좋은 방법은 (객체의 변화에 게시 및 구독 EventBus 라이브러리 만들기 사용) 다음과 같은 것입니다 :이 작동
public DomainObjectWrapperNode(DomainObject obj) {
super (Children.LEAF, Lookups.singleton(obj));
EventBus.subscribe(DomainObject.class, this);
}
public void onEvent(DomainObject event) {
// Do a check to determine if the updated object is the one wrapped by this node;
// if so fire a property sets change
firePropertySetsChange(null, this.getPropertySets());
}
하지만 스크롤에 내 자리 시트가 새로 고침되면 손실됩니다. 그것은 목록의 맨 위로보기를 재설정하고 나는 새로 고침 작업 이전의 위치로 다시 스크롤해야합니다.
내 질문에, 노드의 속성 시트보기를 새로 고치는 더 좋은 방법이 있습니까? 구체적으로 새로 고칠 때 속성 목록의 내 위치가 손실되지 않도록 할 수 있습니까?
firePropertySetsChange의 해답은 this thread에서 비롯됩니다.