在RCP中修改View的标题title

在RCP中,用户自己定义的view都继承自org.eclipse.ui.part.ViewPart。在viewPart中有一个Protected的方法:
    /* (non-Javadoc)
* @see org.eclipse.ui.part.WorkbenchPart#setPartName(java.lang.String)
*/
protected void setPartName(String partName) {
if (compatibilityTitleListener != null) {
removePropertyListener(compatibilityTitleListener);
compatibilityTitleListener = null;
}

调用该方法就可以改变view的title值。但是,由于该方法是protected的方法,所以,该方法只能在子类中直接调用,在其他的class中想要获取的子类的引用都没有办法调用该方法,所以做了一个技巧性的改动。
在子类中自己添加一个public的方法,如下:
	public void setPartName(String name)
{
super.setPartName(name);
}

一看就明白,该方法就是要将父类的protected方法在子类暴露为public的方法。
这样以后,如果在其他class里面想要动态修改view的tilte,就可以调用形如如下的语句来完成了:
		((YourView)PlatformUI.getWorkbench().getActiveWorkbenchWindow()
.getActivePage().findView(YourView.ID)).setPartName("newTitle");


也是研究了好一会儿才弄明白的东西,我突然想再看看设计模式了……
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值