我在Eclipse RCP开发入门(二)——为窗口创建菜单中讲述了如何创建菜单,个人还是比较倾向于使用Eclipse提供的在Eclipse中设置,然后自行编写代码进行实现的方式。本次我对如何为菜单添加动作进行讲述。
在菜单action的项目中有一个"class"的项,这个项实际上就是提供给开发者录入实现其action的类的地方,比如你的类名是"action1"则在此录入这个名,这个项目支持多包操作,你可以将项目中不同功能的类放在不同的包里,然后在class中用包名+类名的方式就可以调用到了。
这种方式action1要实现接口IWorkbenchWindowActionDelegate。这个接口中有四个方法需要实现,public void dispose()、public void init(IWorkbenchWindow window)、public void run(IAction action)、public void selectionChanged(IAction action, ISelection selection),示例代码如下:
import org.eclipse.jface.action.IAction;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.ui.IWorkbenchWindow;
import org.eclipse.ui.IWorkbenchWindowActionDelegate;
public class Action1 implements IWorkbenchWindowActionDelegate {
private IWorkbenchWindow window;
public void dispose() {
// TODO 自动生成方法存根
}
public void init(IWorkbenchWindow window) {
this.window=window;
}
public void run(IAction action) {
System.out.println("d");
}
public void selectionChanged(IAction action, ISelection selection) {
// TODO 自动生成方法存根
}
}
这样,我们在点击菜单时就可以看到这个动作了。