当前位置: 首页>>代码示例>>Java>>正文


Java JMenuItem.getAction方法代码示例

本文整理汇总了Java中javax.swing.JMenuItem.getAction方法的典型用法代码示例。如果您正苦于以下问题:Java JMenuItem.getAction方法的具体用法?Java JMenuItem.getAction怎么用?Java JMenuItem.getAction使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在javax.swing.JMenuItem的用法示例。


在下文中一共展示了JMenuItem.getAction方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: setMenu

import javax.swing.JMenuItem; //导入方法依赖的package包/类
/** Sets the state of JMenuItem*/
protected @Override void setMenu(){
    
    ActionMap am = getContextActionMap();
    Action action = null;
    if (am != null) {
        action = am.get(getActionName());
    }
    
    JMenuItem presenter = getMenuPresenter();
    Action presenterAction = presenter.getAction();
    if (presenterAction == null){
        presenter.setAction(this);
        presenter.setToolTipText(null); /* bugfix #62872 */ 
        menuInitialized = false;
    } 
    else {
        if (!this.equals(presenterAction)){
            presenter.setAction(this);
            presenter.setToolTipText(null); /* bugfix #62872 */
            menuInitialized = false;
        }
    }

    if (!menuInitialized){
        Mnemonics.setLocalizedText(presenter, getMenuItemText());
        menuInitialized = true;
    }

    presenter.setEnabled(action != null);
    JTextComponent comp = Utilities.getFocusedComponent();
    if (comp != null && comp instanceof JEditorPane){
        addAccelerators(this, presenter, comp);
    } else {
        presenter.setAccelerator(getDefaultAccelerator());
    }

}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:39,代码来源:CompletionActionsMainMenu.java

示例2: removeMenuItem

import javax.swing.JMenuItem; //导入方法依赖的package包/类
protected void removeMenuItem(JMenuItem itemToRemove) {
  Action a = itemToRemove.getAction();
  // start by searching this menu
  XJMenu menuToUse = this;
  int firstIndex = firstPluginItem;
  // keep track of the parent menu
  XJMenu parentMenu = null;
  // if the action has a menu path set, navigate the path to find the
  // right menu.
  String[] menuPath = (String[])a.getValue(GateConstants.MENU_PATH_KEY);
  if(menuPath != null) {
    PATH_ELEMENT: for(String pathElement : menuPath) {
      int i;
      for(i = firstIndex; i < menuToUse.getItemCount(); i++) {
        JMenuItem item = menuToUse.getItem(i);
        if(item instanceof XJMenu && item.getText().equals(pathElement)) {
          // found the menu for this path element, move on to the next one
          firstIndex = 0;
          parentMenu = menuToUse;
          menuToUse = (XJMenu)item;
          continue PATH_ELEMENT;
        }
      }
      // we've reached the end of a menu without finding the sub-menu
      // we were looking for.  This shouldn't happen, but if it does then
      // we can ignore it as if there's no menu to remove the thing from
      // then there's nothing to remove either.
      return;
    }
  }

  // we have a menu to remove the item from: remove it
  menuToUse.remove(itemToRemove);
  if(menuToUse.getItemCount() == 0 && parentMenu != null) {
    // sub-menu is empty, remove it from parent
    parentMenu.remove(menuToUse);
  }
}
 
开发者ID:GateNLP,项目名称:gate-core,代码行数:39,代码来源:MainFrame.java

示例3: installAcceleratorPreview

import javax.swing.JMenuItem; //导入方法依赖的package包/类
private static void installAcceleratorPreview(JMenuItem item) {
    if(item instanceof JMenu) return;
    //detect accelerator key
    boolean already_has_accel = false;
    if(item.getAccelerator() != null) already_has_accel = true;
    if(item.getAction() != null && item.getAction().getValue(Action.ACCELERATOR_KEY) != null) already_has_accel = true;

    
    
    boolean already_has_accel_border = false;
    if(item.getBorder() == accel_border) {
        already_has_accel_border = true;
        //uninstall if needed
        if(already_has_accel) {
            item.setBorder(null);
            return;
        }
    }
    
    if(item.getBorder() instanceof CompoundBorder) {
        CompoundBorder comp = (CompoundBorder)item.getBorder();
        if(comp.getInsideBorder() == accel_border) {
            already_has_accel_border = true;
            //uninstall if needed
            if(already_has_accel) {
                item.setBorder(comp.getOutsideBorder());
                return;
            }
        }
    }
    
    if(already_has_accel_border) return;
    if(already_has_accel) return;
    
    
    if(item.getBorder() == null) {
        item.setBorder(accel_border);
        return;
    }
    
    item.setBorder(BorderFactory.createCompoundBorder(
                item.getBorder(),accel_border));
}
 
开发者ID:apache,项目名称:incubator-netbeans,代码行数:44,代码来源:MenuEditLayer.java


注:本文中的javax.swing.JMenuItem.getAction方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。