我試圖以編程方式更新視圖的標題(即:在選項卡中顯示的文本)。如何更新視圖標題
當我這樣做:
view.setPartName(newTitle);
視圖名稱很好地更新,但用戶界面是不是。那我該怎麼做?
預先感謝您!
我試圖以編程方式更新視圖的標題(即:在選項卡中顯示的文本)。如何更新視圖標題
當我這樣做:
view.setPartName(newTitle);
視圖名稱很好地更新,但用戶界面是不是。那我該怎麼做?
預先感謝您!
您需要確保在正確的init方法中設置partName,並且在設置部件名稱之前調用super。我知道這個示例工程是從我的應用程序粘貼的。
@Override
public void init(IViewSite site) throws PartInitException {
super.init(site);
String scannerName = site.getSecondaryId();
setPartName("MyName");
}
我正在更新視圖的標題沒有問題......您何時調用setPartName方法?
在我的課上,它擴展了ViewPart
,我在調用init
方法中的setPartName
方法。
問題是我在'ViewPart'之外調用'setPartName'方法。 – mmoulis
你是怎麼調用setPartName方法的?它受到保護。至少據我所知。 http://help.eclipse.org/indigo/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/ui/part/ViewPart.html#setPartName(java.lang.String) –
In我的'ViewPart'類中,我寫了一個名爲'changePartName(String newName)'的公共方法,它調用'setPartName'方法。我在別處使用我的方法'changePartName'。 – mmoulis
@david&@Duncan Krebs:你們都對!我們必須在'init'方法內調用'setPartname'方法。所以,爲了解決我的問題,我使用了一個特殊的對象,它存儲了我的'IViewPart'的名字,並且在''IViewPart''的'init'方法中檢索了這個對象!非常感謝你們倆 – mmoulis