zoukankan      html  css  js  c++  java
  • e813. 获得当前选择的菜单或菜单项

    The currently selected menu or menu item in a JMenu or JPopupMenu is tracked by MenuSelectionManager and can be retrieved by calling MenuSelectionManager.getSelectedPath(). This method returns an array of MenuElement objects, representing all the menu objects that are part of the selected menu or menu item. For example, when a menu is opened in a menu bar, the sequence of elements in the path is: JMenuBar, JMenu, and JPopupMenu. If a menu item in the open menu is then selected, there will be fourth element, a JMenuItem.

    The menu path also includes nested menus. For example, if the currently selected menu item is part of a nested menu in a menu bar, the sequence of elements is: JMenuBar, JMenu, JPopupMenu, JMenu, JPopupMenu, and JMenuItem. Note that a JMenu is always followed by a JPopupMenu.

    If a menu item in a popup menu is selected, the sequence of menu objects is simply JPopupMenu and JMenuItem. If the menu item is part of a nest menu, the sequence is, JPopupMenu, JMenu, JPopupMenu, and JMenuItem.

        // Get the selected menu path
        MenuElement[] path = MenuSelectionManager.defaultManager().getSelectedPath();
        
        if (path.length == 0) {
            // No menus are opened or menu items selected
        }
        
        // Retrieve the labels of all the menu elements in the path
        for (int i=0; i<path.length; i++) {
            Component c = path[i].getComponent();
        
            if (c instanceof JMenuItem) {
                JMenuItem mi = (JMenuItem)c;
                String label = mi.getText();
                // Note: JMenu is a subclass of JMenuItem; also JMenuBar does not have a label
            }
        }
    
    Related Examples
  • 相关阅读:
    vs2010装虚拟机后启动慢
    LINUX FIFO(读书笔记,LINUX程序设计第四版)
    WPF控件 ProgressBar
    C# SQLite操作示列
    win10下使用Linux命令
    类初始化与实例化过程
    结构与类 Delphi
    多线程应用 Delphi
    (珍藏)SQL Server中常用的SQL语句
    获取当前用户本地应用程序设置文件夹 Delphi
  • 原文地址:https://www.cnblogs.com/borter/p/9596172.html
Copyright © 2011-2022 走看看