在视图添加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了