在视图添加Action和菜单很简单,我们用RCP自带的邮件模板新建一个RCP工程,将一些无用的代码删除,然后在View.java中声明一个Action对象,我们将这个Action对象加入到View的工具栏上,代码很简单,代码如下
package com.vwpolo.rcp.viewaction;
import org.eclipse.jface.action.Action;
public class View extends ViewPart {
public static final String ID = View.class.getName();
private Action helloAction;
public void createPartControl(Composite parent) {
Composite top = new Composite(parent, SWT.NONE);
GridLayout layout = new GridLayout();
layout.marginHeight = 0;
layout.marginWidth = 0;
top.setLayout(layout);
createActions();
initializeToolBar();
initializeMenuBar();
}
private void createActions() {
helloAction = new Action() {
public void run() {
MessageDialog.openInformation(getSite().getShell(), "Hello", "Hello Dialog");
}
};
helloAction.setText("Hello");
helloAction.setToolTipText("Hello Dialog");
}
private void initializeToolBar() {
IToolBarManager toolBarManager = getViewSite().getActionBars().getToolBarManager();
toolBarManager.add(helloAction);
}
private void initializeMenuBar() {
IMenuManager menuManager = getViewSite().getActionBars().getMenuManager();
menuManager.add(helloAction);
}
public void setFocus() {
}
}
import org.eclipse.jface.action.Action;
public class View extends ViewPart {
public static final String ID = View.class.getName();
private Action helloAction;
public void createPartControl(Composite parent) {
Composite top = new Composite(parent, SWT.NONE);
GridLayout layout = new GridLayout();
layout.marginHeight = 0;
layout.marginWidth = 0;
top.setLayout(layout);
createActions();
initializeToolBar();
initializeMenuBar();
}
private void createActions() {
helloAction = new Action() {
public void run() {
MessageDialog.openInformation(getSite().getShell(), "Hello", "Hello Dialog");
}
};
helloAction.setText("Hello");
helloAction.setToolTipText("Hello Dialog");
}
private void initializeToolBar() {
IToolBarManager toolBarManager = getViewSite().getActionBars().getToolBarManager();
toolBarManager.add(helloAction);
}
private void initializeMenuBar() {
IMenuManager menuManager = getViewSite().getActionBars().getMenuManager();
menuManager.add(helloAction);
}
public void setFocus() {
}
}
我们使用 initializeToolBar ()和 initializeMenuBar ()方法分别将Action添加到View的工具栏和菜单栏,运行看一下,当单击这个Action的时候会弹出对话框
这样Action对加入到View了