`
huzhenyu
  • 浏览: 191841 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

Eclipse中Action创建的两种方式

阅读更多

在Eclipse里,是由actions来描述菜单及工具栏的可以通过两种方法向应用程序里添加菜单和工具栏
1.编写代码
如果是第一种方法,利用ApplicationActionBarAdvisor 类的makeActions()声名actions。你可以利用方法fillMenuBar()或者fillCoolBar()向你的程序添加菜单或者工具栏(coolbar)。
示例代码:

public class ApplicationActionBarAdvisor extends ActionBarAdvisor {

    // Actions - important to allocate these only in makeActions, and then use them
    // in the fill methods.  This ensures that the actions aren't recreated
    // when fillActionBars is called with FILL_PROXY.
    private IWorkbenchAction exitAction;
    private IWorkbenchAction aboutAction;
    private IWorkbenchAction newWindowAction;
    private OpenViewAction openViewAction;
    private Action messagePopupAction;

    public ApplicationActionBarAdvisor(IActionBarConfigurer configurer) {
        super(configurer);
    }
    
    protected void makeActions(final IWorkbenchWindow window) {
        // Creates the actions and registers them.
        // Registering is needed to ensure that key bindings work.
        // The corresponding commands keybindings are defined in the plugin.xml file.
        // Registering also provides automatic disposal of the actions when
        // the window is closed.

        exitAction = ActionFactory.QUIT.create(window);
        register(exitAction);
        
        aboutAction = ActionFactory.ABOUT.create(window);
        register(aboutAction);
        
        newWindowAction = ActionFactory.OPEN_NEW_WINDOW.create(window);
        register(newWindowAction);
        
        openViewAction = new OpenViewAction(window, "Open Another Message View", View.ID);
        register(openViewAction);
        
        messagePopupAction = new MessagePopupAction("Open Message", window);
        register(messagePopupAction);
    }
    
    protected void fillMenuBar(IMenuManager menuBar) {
        MenuManager fileMenu = new MenuManager("&File", IWorkbenchActionConstants.M_FILE);
        MenuManager helpMenu = new MenuManager("&Help", IWorkbenchActionConstants.M_HELP);
        
        menuBar.add(fileMenu);
        // Add a group marker indicating where action set menus will appear.
        menuBar.add(new GroupMarker(IWorkbenchActionConstants.MB_ADDITIONS));
        menuBar.add(helpMenu);
        
        // File
        fileMenu.add(newWindowAction);
        fileMenu.add(new Separator());
        fileMenu.add(messagePopupAction);
        fileMenu.add(openViewAction);
        fileMenu.add(new Separator());
        fileMenu.add(exitAction);
        
        // Help
        helpMenu.add(aboutAction);
    }
    
    protected void fillCoolBar(ICoolBarManager coolBar) {
        IToolBarManager toolbar = new ToolBarManager(SWT.FLAT | SWT.RIGHT);
        coolBar.add(new ToolBarContributionItem(toolbar, "main"));   
        toolbar.add(openViewAction);
        toolbar.add(messagePopupAction);
    }
}


2.扩展(Extensions)
如果你用第二种方法,将使用Eclipse向导以扩展点形式创建Actions。
  plugin.xml:

<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?>
<plugin>
   .............
   <extension
         point="org.eclipse.ui.actionSets">
      <actionSet
            id="com.javake.rcp.action.first.actionSet3"
            label="label"
            visible="true">
         <menu
               id="com.javake.rcp.action.first.menu1"
               label="sample menu">
            <separator
                  name="separator">
            </separator>
         </menu>
         <action
               class="com.javake.rcp.action.first.Hello"
               id="com.javake.rcp.action.first.Hello"
               label="HelloAction"
               menubarPath="com.javake.rcp.action.first.menu1/separator"
               toolbarPath="separator">
         </action>
      </actionSet>
   </extension>
</plugin>

 

分享到:
评论

相关推荐

    struts入门例子-eclipse搭建

    这可以通过两种方式实现:一是将所需的JAR文件(如struts2-core、struts2-convention-plugin等)手动放入项目的WEB-INF/lib目录;二是如果使用Maven,可以在pom.xml文件中添加相应的依赖,让Maven自动管理这些库。 ...

    Eclipse笔记

    这里有两种视图模式供用户选择。 4. **创建JSP文件**:通过可视化方式创建JSP文件,如`LoginSuccess.jsp`。选择`Palette`面板中的相应图标,然后在设计区域点击即可创建新的JSP文件。 5. **创建表单元素**:在设计...

    eclipse struts 中文乱码问题图解

    如果在Windows环境下,可以尝试以下两种方法解决国际化中文乱码问题: 方法一:在资源文件所在的目录下,通过命令行执行`native2ascii -encoding UTF-8 Testencoding.properties Testencoding.properties`,将中文...

    Eclipse菜单探密.doc

    首先,我们来看两种创建菜单和工具栏的基本方法: 1. 通过Action: 这是最常见的方法,通常先创建一个Action,然后将这个Action添加到MenuManager或ToolBarManager中。Action是Eclipse中处理用户交互的基本单元,...

    eclipse油藏数值模拟软件操作

    - 角点网格与块中心网格是两种不同的网格类型,在某些情况下需要进行转换以满足模拟需求。 #### 三、Eclipse关键字使用技巧 - **示踪剂功能分析**: - 利用示踪剂功能可以分析油藏内部的流体流动情况,这对于...

    Eclipse Plug-ins (3rd Edition)

    在书中关于Eclipse命令框架部分,读者将了解到,Eclipse 3.4版本引入了一个新的命令框架来替代老的Action框架。新的框架不仅改进了用户的交互方式,还提供了更丰富的功能来帮助开发人员设计、实现和维护命令。此外,...

    Eclipse_3.3_API, RCP api

    Eclipse_3.3_API 和 RCP API 是两个重要的概念,尤其对于Java开发者,特别是那些在Eclipse平台上构建 Rich Client Platform (RCP) 应用程序的人来说。Eclipse API 提供了开发Eclipse插件和应用程序所需的接口、类和...

    EclipseEE struts Tomcat入门程序调试.rar

    创建两个JSP页面,一个用于展示表单(例如login.jsp),另一个用于显示结果(例如success.jsp)。 8. **配置URL映射**:在struts-config.xml中,定义ActionMapping,将URL映射到Action类。例如,将"/login"请求映射...

    aidlDemo(AndroidStudio和Eclipse版本)

    在`aidlDemo(Eclipse和AndroidStudio版)`这个压缩包中,包含了服务端和客户端的源代码,适用于两种开发环境。这对于开发者理解如何在不同环境下使用AIDL进行IPC通信非常有帮助。你可以根据需要选择合适的版本进行...

    eclipse

    - **项目结构**:完成后,Eclipse界面左侧会出现"myplugin"项目,包含MypluginPlugin.java和SampleAction.java两个文件。前者是插件的核心类,后者是一个Action类,负责插件的行为展示。同时,plugin.xml文件是插件...

    eclipse项目中同时开发j2ee模块和flex客户端模块

    在Eclipse环境中,同时开发J2EE...总之,在Eclipse中同时开发J2EE和Flex模块需要对这两种技术有深入理解,并熟悉Eclipse的插件生态系统。通过合理配置和组织项目,开发者可以高效地构建出既强大又互动的Web应用程序。

    eclipse+maven+struts2简单例子

    在这个例子中,我们可能会看到两种实现方式:使用注解和使用配置文件。注解是一种元数据,可以嵌入到源代码中,提供有关类、方法等的额外信息。在Struts2中,可以使用注解来声明Action类、方法以及结果映射,这样...

    eclipse搭建教程

    - 下载方式有两种:直接访问官网[http://www.springsource.com/download/community](http://www.springsource.com/download/community)或者在Eclipse中进行安装。 - 在Eclipse中安装Spring的步骤为: 1. 打开...

    MyEclipse Eclipse iReport JasperReport Struts2

    在Java Web开发中,MyEclipse和Eclipse是两种常用的集成开发环境(IDE),它们提供了丰富的功能,包括代码编辑、调试、构建和部署等。iReport是一款强大的报表设计工具,它允许开发者创建复杂的报表布局,而...

    JSP +servlet eclipse登陆程序

    在Java Web开发中,JSP(JavaServer Pages)和Servlet是两种常见的技术,用于构建动态网页和处理HTTP请求。Eclipse是一款流行的Java集成开发环境,提供了便捷的开发工具支持。在这个“JSP + Servlet + Eclipse 登录...

    flex(eclipse)开发配置手册

    配置过程分为两种主要方式: **方式一:Java工程和Flex工程独立** 在这种模式下,Flex程序员和Java程序员各自独立工作。网上有很多关于这种配置的教程,因此在此不再赘述。 **方式二:Flex工程加入Java元素** 1. ...

    eclipse 插件 视频

    Eclipse提供了两种主要的插件安装方式:通过Eclipse Marketplace和使用Update Site。Eclipse Marketplace是官方提供的一个插件市场,你可以搜索并直接安装各种插件。要访问Marketplace,只需在Eclipse中选择"帮助"...

    一品红eclipse做的

    JSP中有两种类型的元素:指令和动作。指令如`&lt;%@page&gt;`用于设置页面属性,`&lt;jsp:include&gt;`动作则可以包含其他页面或动态生成内容。 5. **EL和JSTL**: JSP表达式语言(EL)简化了从页面中获取和设置Java对象的值...

    在Eclipse+WebLogic下开发J2EE应用程序

    例如,创建LeaveAccessBean并添加业务方法getAllLeaveApp,然后在Struts配置文件中定义相应的Action映射。同时,创建对应的JSP页面(如leave.jsp和display.jsp)以呈现用户界面。 测试是验证应用程序功能的关键步骤...

Global site tag (gtag.js) - Google Analytics