2012-11-21 70 views
4

我試圖以編程方式更新視圖的標題(即:在選項卡中顯示的文本)。如何更新視圖標題

當我這樣做:

view.setPartName(newTitle); 

視圖名稱很好地更新,但用戶界面是不是。那我該怎麼做?

預先感謝您!

+0

@david&@Duncan Krebs:你們都對!我們必須在'init'方法內調用'setPartname'方法。所以,爲了解決我的問題,我使用了一個特殊的對象,它存儲了我的'IViewPart'的名字,並且在''IViewPart''的'init'方法中檢索了這個對象!非常感謝你們倆 – mmoulis

回答

7

您需要確保在正確的init方法中設置partName,並且在設置部件名稱之前調用super。我知道這個示例工程是從我的應用程序粘貼的。

@Override 
public void init(IViewSite site) throws PartInitException { 
    super.init(site); 
    String scannerName = site.getSecondaryId(); 
    setPartName("MyName"); 
} 
2

我正在更新視圖的標題沒有問題......您何時調用setPartName方法?

在我的課上,它擴展了ViewPart,我在調用init方法中的setPartName方法。

+0

問題是我在'ViewPart'之外調用'setPartName'方法。 – mmoulis

+0

你是怎麼調用setPartName方法的?它受到保護。至少據我所知。 http://help.eclipse.org/indigo/topic/org.eclipse.platform.doc.isv/reference/api/org/eclipse/ui/part/ViewPart.html#setPartName(java.lang.String) –

+0

In我的'ViewPart'類中,我寫了一個名爲'changePartName(String newName)'的公共方法,它調用'setPartName'方法。我在別處使用我的方法'changePartName'。 – mmoulis