当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Java AWT MenuShortcut用法及代码示例


MenuShortcut 类是 JavaAWT 的一部分。 MenuShortcut 类实现使用虚拟键码实现的菜单快捷方式。 MenuShortcut 类表示 MenuItem 的键盘加速器。

类的构造函数:

  1. 菜单快捷方式(int k):创建具有指定键的MenuShortcut对象。
  2. 菜单快捷方式(int k,布尔值b):为指定的虚拟键码构造一个新的MenuShortcut。

常用方法:

方法 解释
equals(MenuShortcut s) 返回此 MenuShortcut 是否与另一个相同。
getKey() 返回此菜单快捷方式的原始键码。
hashCode() 返回菜单快捷方式的哈希码。
usesShiftModifier() 返回是否必须使用 SHIFT 键调用此MenuShortcut。

以下示例程序旨在说明 MenuShortcut 类:

  1. Java 程序创建一个菜单栏并向其中添加 MenuItems 并将 MenuShortcut 添加到 MenuItems:在此程序中,我们将创建一个名为框架, MenuBar 已命名菜单栏,一个名为菜单和三个名为MenuItems菜单项_1,菜单项_2,菜单项_3。我们还将创建三个名为 MenuShortcut菜单快捷方式_1,菜单快捷方式_2,菜单快捷方式_3并将其 key 指定为“A”、“B”、“C”。什么时候Ctrl+A会被压菜单项_1将被调用。同样,当Ctrl+B,Ctrl+C届时将被按下菜单项_2,菜单项_3会分别被调用。 ActionListener 将被添加到所有菜单项中,并且标签将显示哪个 MenuItem 被单击。 MenuItems将被添加到菜单中,菜单将被添加到菜单栏中,菜单栏和标签将被添加到框架中,框架的大小将被设置为指定的值,显示函数将显示结果。

    Java

    
    // Java program to create a menubar and add 
    // menuitems to it and also add menushortcut 
    // to MenuItems 
    import java.awt.*; 
    import javax.swing.*; 
    import java.awt.event.*; 
      
    public class Shortcut_1 extends 
    Frame implements ActionListener { 
      
        // menubar 
        static MenuBar menubar; 
      
        // Menu 
        static Menu menu; 
      
        // Menu items 
        static MenuItem menuitem_1, menuitem_2, menuitem_3; 
      
        // create a frame 
        static Frame frame; 
      
        // create label 
        Label label; 
      
        // default constructor 
        Shortcut_1() 
        { 
      
            // create a frame 
            frame = new Frame("MenuShortcut Demo"); 
      
            // when exit button is pressed 
            frame.addWindowListener(new WindowAdapter() { 
      
                public void windowClosing(WindowEvent windowEvent) 
                { 
                    System.exit(0); 
                } 
            }); 
      
            // create a menubar 
            menubar = new MenuBar(); 
      
            // create a menu 
            menu = new Menu("Menu"); 
      
            // create label 
            label = new Label("Nothing Selected"); 
      
            // create menu shortcuts 
            MenuShortcut menushortcut_1 =  
            new MenuShortcut(KeyEvent.VK_A, false); 
      
            MenuShortcut menushortcut_2 =  
            new MenuShortcut(KeyEvent.VK_B, false); 
      
            MenuShortcut menushortcut_3 =  
            new MenuShortcut(KeyEvent.VK_C, false); 
      
            // create menuitems 
            menuitem_1 = new MenuItem("MenuItem_1 ", menushortcut_1); 
            menuitem_2 = new MenuItem("MenuItem_2 ", menushortcut_2); 
            menuitem_3 = new MenuItem("MenuItem_3 ", menushortcut_3); 
      
            // add ActionListener to menuItems 
            menuitem_1.addActionListener(this); 
            menuitem_2.addActionListener(this); 
            menuitem_3.addActionListener(this); 
      
            // add menu items to menu 
            menu.add(menuitem_1); 
            menu.add(menuitem_2); 
            menu.add(menuitem_3); 
      
            // add menu to menu bar 
            menubar.add(menu); 
      
            // add menubar to frame 
            frame.setMenuBar(menubar); 
      
            // add label 
            frame.add(label); 
      
            // set the size of the frame 
            frame.setSize(500, 500); 
            frame.setVisible(true); 
        } 
      
        // when an action is performed 
        public void actionPerformed(ActionEvent e) 
        { 
            String s = e.getActionCommand(); 
      
            // set the label to the menuItem 
            // that is selected 
            label.setText(s + " selected"); 
        } 
      
        // Main Method 
        public static void main(String args[]) 
        { 
      
            // create an object 
            Shortcut_1 m = new Shortcut_1(); 
        } 
    } 

    输出:

  2. Java 程序创建一个菜单栏并向其添加 MenuItems,还将 MenuShortcut 添加到 MenuItems,并向 MenuShortcut 添加 Shift 修饰符:在此程序中,我们将创建一个名为框架, MenuBar 已命名菜单栏,一个名为 menu 的菜单和三个名为 MenuItems菜单项_1,菜单项_2,菜单项_3。我们还将创建三个名为 MenuShortcut菜单快捷方式_1,菜单快捷方式_2,菜单快捷方式_3并将其键指定为“A”、“B”、“C”,并且 Shift 修饰符将设置为 true。什么时候Ctrl+Shift+A将被按下 menuitem_1 将被调用。同样,当Ctrl+Shift+B,Ctrl+Shift+C会被压菜单项_2,菜单项_3会分别被调用。 ActionListener 将添加到所有菜单项,并且标签将显示单击了哪个 MenuItem。 MenuItems将被添加到菜单中,菜单将被添加到菜单栏中,菜单栏和标签将被添加到框架中,框架的大小将被设置为指定的值,显示函数将显示结果。

    Java

    
    // Java program to create a menubar and add  
    // menuitems to it and also add menushortcut  
    // to MenuItems and also add shift modifier 
    // to MenuShortcut 
    import java.awt.*; 
    import javax.swing.*; 
    import java.awt.event.*; 
      
    public class Shortcut_2 extends Frame  
              implements ActionListener { 
      
        // menubar 
        static MenuBar menubar; 
      
        // Menu 
        static Menu menu; 
      
        // Menu items 
        static MenuItem menuitem_1, menuitem_2, menuitem_3; 
      
        // create a frame 
        static Frame frame; 
      
        // create label 
        Label label; 
      
        // default constructor 
        Shortcut_2() 
        { 
            // create a frame 
            frame = new Frame("MenuShortcut Demo"); 
      
            // when exit button is pressed 
            frame.addWindowListener(new WindowAdapter() { 
      
                public void windowClosing(WindowEvent windowEvent) 
                { 
                    System.exit(0); 
                } 
            }); 
      
            // create a menubar 
            menubar = new MenuBar(); 
      
            // create a menu 
            menu = new Menu("Menu"); 
      
            // create label 
            label = new Label("Nothing Selected"); 
      
            // create menu shortcuts 
            MenuShortcut menushortcut_1 =  
            new MenuShortcut(KeyEvent.VK_A, true); 
      
            MenuShortcut menushortcut_2 =  
            new MenuShortcut(KeyEvent.VK_B, true); 
      
            MenuShortcut menushortcut_3 =  
            new MenuShortcut(KeyEvent.VK_C, true); 
      
            // create menuitems 
            menuitem_1 = new MenuItem("MenuItem_1 ",  
                                    menushortcut_1); 
      
            menuitem_2 = new MenuItem("MenuItem_2 ", 
                                    menushortcut_2); 
      
            menuitem_3 = new MenuItem("MenuItem_3 ",  
                                    menushortcut_3); 
      
            // add ActionListener to menuItems 
            menuitem_1.addActionListener(this); 
            menuitem_2.addActionListener(this); 
            menuitem_3.addActionListener(this); 
      
            // add menu items to menu 
            menu.add(menuitem_1); 
            menu.add(menuitem_2); 
            menu.add(menuitem_3); 
      
            // add menu to menu bar 
            menubar.add(menu); 
      
            // add menubar to frame 
            frame.setMenuBar(menubar); 
      
            // add label 
            frame.add(label); 
      
            // set the size of the frame 
            frame.setSize(500, 500); 
            frame.setVisible(true); 
        } 
      
        // when an action is performed 
        public void actionPerformed(ActionEvent e) 
        { 
            String s = e.getActionCommand(); 
      
            // set the label to the MenuItem, 
            // that is selected 
            label.setText(s + " selected"); 
        } 
      
        // Main Function 
        public static void main(String args[]) 
        { 
      
            // create an object 
            Shortcut_2 m = new Shortcut_2(); 
        } 
    } 

    输出:

注意:上述程序可能无法在在线 IDE 中运行。请使用离线编译器。

参考: https://docs.oracle.com/javase/7/docs/api/java/awt/MenuShortcut.html



相关用法


注:本文由纯净天空筛选整理自andrew1234大神的英文原创作品 Java AWT | MenuShortcut Class。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。