📜  Java AWT | MenuShortcut 类

📅  最后修改于: 2022-05-13 01:55:13.702000             🧑  作者: Mango

Java AWT | MenuShortcut 类

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

类的构造函数:

  1. MenuShortcut(int k) : 创建一个具有指定键的 MenuShortcut 对象。
  2. MenuShortcut(int k, boolean b) :为指定的虚拟键码构造一个新的 MenuShortcut。

常用方法:

MethodsExplanation
equals(MenuShortcut s)Returns whether this MenuShortcut is the same as another.
getKey()Returns the raw keycode of this MenuShortcut.
hashCode()Returns the hashcode of MenuShortcut.
usesShiftModifier()Returns whether this MenuShortcut must be invoked using the SHIFT key.

下面的程序说明了 MenuShortcut 类:

  1. Java程序创建一个菜单栏并向其添加 MenuItems 并将 MenuShortcut 添加到 MenuItems:在此程序中,我们将创建一个名为frame的 Frame 、一个名为menubar的 MenuBar 、一个名为menu的 Menu 和三个名为menuitem_1menuitem_2menuitem_3的 MenuItem 。我们还将创建三个名为menushortcut_1menushortcut_2menushortcut_3的 MenuShortcut,并将它们的键指定为“A”、“B”、“C”。当按下ctrl+A时,将调用menuitem_1 。同样,当ctrl+Bctrl+C将被按下然后menuitem_2menuitem_3将分别被调用。 ActionListener 将被添加到所有菜单项中,并且一个标签将显示单击了哪个菜单项。 MenuItems 将被添加到菜单中,菜单将被添加到菜单栏,菜单栏和标签将被添加到框架中,框架的大小将被设置为指定值,并且 show函数将显示结果。
    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();
        }
    }


    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();
        }
    }


    输出:

  2. Java程序创建一个菜单栏并向其添加 MenuItems 并将 MenuShortcut 添加到 MenuItems 并将 shift 修饰符添加到 MenuShortcut:在这个程序中,我们将创建一个名为frame的 Frame 、一个名为menubar的 MenuBar 、一个名为 menu 的 Menu 和三个名为menuitem_1的 MenuItem ,菜单项_2菜单项_3 。我们还将创建三个名为menushortcut_1menushortcut_2menushortcut_3的 MenuShortcut,并将它们的键指定为“A”、“B”、“C”,并将 shift 修饰符设置为 true。当按下ctrl+shift+A时,将调用 menuitem_1。同样,当ctrl+shift+Bctrl+shift+C将被按下menuitem_2menuitem_3将分别被调用。 ActionListener 将被添加到所有菜单项中,并且一个标签将显示单击了哪个菜单项。 MenuItems 将被添加到菜单中,菜单将被添加到菜单栏,菜单栏和标签将被添加到框架中,框架的大小将被设置为指定值,并且 show函数将显示结果。

    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: Java/awt/MenuShortcut.html