手机站
网通分站
电信主站
密 码:
用户名:
热门关键字:  虚拟主机  cn域名  域名注册  非法  seo
当前位置 : 主页>程序设计>Java技术>列表

RCP里响应资源改变以及操作资源

来源:互联网 作者:west263.com 时间:2008-02-23 点击:
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!
1.在写Eclipse插件的时候,使插件取得监听资源改变事件的能力的主要方法是
安装resouce change listener.
这个监听器必须实现IResourceChangeListener接口,并且在IWorkspace
上用addResourceChangeListener()方法注册.

如下小段代码所示:

IWorkspace workspace = ResourcesPlugin.getWorkspace();
IResourceChangeListener listener = new IResourceChangeListener() {
public void resourceChanged(IResourceChangeEvent event) {
System.out.println("Something changed!");
}
};
workspace.addResourceChangeListener(listener);

//... some time later one ...
workspace.removeResourceChangeListener(listener);

当多个文件同时需要改变时,我们要避免让他们每个都引发IResourceChangeEvent,
强烈建议用嵌套方法,把它们放到一个方法里面,然后放到IWorkspaceRunnable的
run()方法里.这样只会引发一次事件.

如下小段代码所示:

IWorkspace workspace = ResourcesPlugin.getWorkspace();
final IProject project = workspace.getRoot().getProject("My Project");
IWorkspaceRunnable operation = new IWorkspaceRunnable() {
public void run(IProgressMonitor monitor) throws CoreException {
int fileCount = 10;
project.create(null);
project.open(null);
for (int i = 0; i < fileCount; i ) {
IFile file = project.getFile("File" i);
file.create(null, IResource.NONE, null);
}
}
};
workspace.run(operation, null);

可以看到上面的代码里虽然改变了10个文件,但是只广播了一次事件.
只要把操作放到一起,IWorkspaceRunnable是强烈推荐的.

2.一个大型的复杂系统里,保持对用户的响应是非常重要的任务.
对于扩展性的大型程序里更加有挑战性,因为各个子系统不是用来设计和其它系统共享同一个资源的.
感谢eclipse为我们带来了一个非常好的工具:
org.eclipse.core.runtime.jobs
它可以对要同时运行的操作自动分配、执行、管理.

比如说,现在同一时刻需要运行很多任务,只需要分别产生job1,job2,job3...然后分别调用schedule()
方法就全部ok了,api会自己把它们分别运行完.

在我的财务管理程序里,当很大很大的文件要保存时,如果电脑太慢,就不能响应用户了,有了jobs工具,就可以轻松
搞定,它会把可能需要长时间运行的任务放到后台运行.

系统调用到某个job,调用它的run()方法:

例子:
class TrivialJob extends Job {
public TrivialJob() {
super("Trivial Job");
}
public IStatus run(IProgressMonitor monitor) {
System.out.println("This is a job");
return Status.OK_STATUS;
}

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

共4页: 上一页 1 [2] [3] [4] 下一页
最新评论共有 0 位网友发表了评论
发表评论
评论内容:不能超过250字,需审核,请自觉遵守互联网相关政策法规。
用户名: 密码:
匿名
注册