我正在使用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{...}
之後,當我改變我的目標,我的屬性表實際上沒有刷新,但我在Eclipse類一個NullPointerException作爲currenttab爲空。在org.eclipse.ui.views.properties.tabbed.TabbedPropertySheetPage
public void refresh(){
currentTab.refresh();
}
所以我想知道我怎樣才能在當前標籤,而這個標籤是不活躍
方法(我做的修改另一種觀點)。 或者有另一種刷新屬性表頁的方法嗎?
謝謝你的回答:)我可能應該改變問題標題,因爲我的主要問題是「我怎樣才能得到當前標籤,而這個標籤不活躍」 – vanvana