手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>程序设计>Java技术>列表

在view关闭时执行某些操作

来源:互联网 作者:west263.com 时间:2008-02-23
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!
1.判断这个view当前是否为active的好方法:

private boolean isActivePart() {
IWorkbenchPart part= getActivePart();
return part != null && part.equals(this);
}
2.自己的rcp程序里有多个view,它们之间是有联系的,如果关掉其中一个view时,
要做些事,怎么知道它是什么时候关掉的呢?我在rcp的新闻组上找到了答案:

关掉Editor或Viewer时调用自己逻辑的方法:

1)如果是editor,那么让它实现org.Eclipse.ui.ISaveablePart2接口.

2)如果是view,在view class里面加上下面这个方法,并且调用它,比如:
在ViewPart#init()里面:
private void initPartListener() {
getSite().getPage().addPartListener(new IPartListener() {

public void partOpened(IWorkbenchPart part) {
if (part != YourPartView.this) {
return;
} else {
// your logics
}
}

public void partDeactivated(IWorkbenchPart part) {
if (part != YourPartView.this) {
return;
} else {
// your logics
}
}

public void partClosed(IWorkbenchPart part) {
if (part != YourPartView.this) {
return;
} else {
// your logics
}
}

public void partBroughtToTop(IWorkbenchPart part) {
if (part != YourPartView.this) {
return;
} else {
// your logics
}
}

public void partActivated(IWorkbenchPart part) {
if (part != YourPartView.this) {
return;
} else {
// your logics
}
}

文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!