Eclipse RCP 및 EMF 모델을 사용하고 있습니다. 보기에서 개체를 선택하면 새로 고침하는 것보다 내 자신의 속성 탭이있는 시트를 만들었습니다. 여기까지 모든 것이 잘 작동합니다. 그런 다음 모델을 변경하면 속성 탭을 새로 고침하고 싶습니다. 내 주요 속성 시트 페이지 그 후이 탭이 활성화되지 않은 상태에서 현재 탭을 얻는 방법
public class MyTabbedPropertySheet extends TabbedPropertySheet{...}
private void init(){
try{
MyModelChangeListener = new MyModelChangeListener(){
@Override
public void refreshUI(){
try{
UMLModeler.getTransactionHelper().getEditingDomain().runExclusive(new Runnable() {
@Override
public void run(){
refresh() //This is the eclipse TabbedPropertySheet refresh method
}
});
}catch(){..}
UMLModeler.getTransactionHelper().getEditingDomain().addResourceSetListener(MyModelChangeListener);
}catch{...}
, 내 개체를 변경할 때, 내 속성 시트가 실제로 수행 갱신하지만 currenttab가 null로 내가 이클립스 클래스는 NullPointerException이에 모델 변경 청취자를 추가했다. org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage 그래서이 탭이 활성화되지 동안 내가 현재 탭을 얻을 수있는 방법 궁금
public void refresh(){
currentTab.refresh();
}
에서
방법 (I은 수정에서 뭐하는 거지 다른보기). 또는 속성 시트 페이지를 새로 고치는 다른 방법이 있습니까?
답변 해 주셔서 감사합니다. :) 내 주요 질문은 "이 탭이 활성화되어 있지 않은데 어떻게 현재의 탭을 얻을 수 있습니까?"라는 질문 제목을 변경해야합니다. – vanvana