Rational Developer for System z


课程 1:创建 CustomOpenActionGroup Java 类

本课程将指导您完成创建处理定制的打开菜单所需要的 Java 类时需要执行的步骤。
您将创建的上下文菜单是操作、分隔符以及包含较小操作集合的操作组组成的集合。在本练习中,您将创建一个 MainActionGroup 类,它将组成上下文菜单。您还将创建另一个类 OpenActionGroup,它将覆盖缺省打开组选项。

要创建这些类,请执行下列操作:

  1. 您将从创建 OpenActionGroup 类开始,因为 MainActionGroup 类将需要一个定制打开组。在包资源管理器视图中,右键单击您在练习 5 中已修改的 Eclipse 插件项目 com.ibm.carma.plugin.view,然后选择新建 >
  2. 在打开的新建 Java 包对话框中,输入 menu 作为包名,然后单击完成
  3. 现在,创建 Java 类。右键单击 menu 包,然后选择新建 > 新建 Java 类对话框将打开。
  4. 输入 CustomOpenActionGroup 作为类名。
  5. 单击位于超类文本字段右边的浏览按钮。在打开的选择超类对话框中,输入过滤器文本 OpenActionGroup。选择属于 com.ibm.carma.ui.view 包的类,然后单击确定
  6. 单击完成以关闭新建 Java 类对话框并创建此类。
  7. 您将需要覆盖 fillContextMenu 方法,以提供上下文菜单的“打开”部分的定制内容。 对于上下文菜单的“打开”部分,您将需要显示除了打开打开方式菜单选择之外的所有内容。最容易完成此任务的方法是,从 OpenActionGroup 部分获取缺省值,然后除去打开打开方式菜单选择。

    以下伪码演示了此情况:

    get the default items;
    for each item
    {
       	if(item is open or open with)
       {
          		remove it from the list;
       }
    }
    使用以下样本代码来实现此功能:
    public void fillContextMenu(IMenuManager menu)
    {
       		super.fillContextMenu(menu);
       		IContributionItem[] myItems = menu.getItems();
       		for(int i = 0; i < myItems.length; i++)
       {
          			IContributionItem item = myItems[i];
          			if(item.getId() != null)
          {
             				if(item.getId().equals(OpenAction.ID) || item.getId().equals("com.ibm.carma.ui.openWithSubMenu"))
             {
                					menu.remove(item);
             }
          }
       }
    }
  8. 自动导入所需要的任何包和类。请确保导入了下列所有内容:
    import org.eclipse.jface.action.IContributionItem;
    import org.eclipse.jface.action.IMenuManager;
    
    import com.ibm.carma.ui.action.OpenAction;
    import com.ibm.carma.ui.view.OpenActionGroup;
  9. 保存源代码,并调试存在的任何错误。

使用条款 | 反馈



本信息中心基于 Eclipse 技术。(http://www.eclipse.org)