Java AWT | MenuShortcut 类
MenuShortcut 类是JavaAWT 的一部分。 MenuShortcut 类实现了使用虚拟键码实现的菜单快捷方式。 MenuShortcut 类表示 MenuItem 的键盘快捷键。
类的构造函数:
- MenuShortcut(int k) : 创建一个具有指定键的 MenuShortcut 对象。
- MenuShortcut(int k, boolean b) :为指定的虚拟键码构造一个新的 MenuShortcut。
常用方法:
Methods | Explanation |
---|---|
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 类:
- Java程序创建一个菜单栏并向其添加 MenuItems 并将 MenuShortcut 添加到 MenuItems:在此程序中,我们将创建一个名为frame的 Frame 、一个名为menubar的 MenuBar 、一个名为menu的 Menu 和三个名为menuitem_1 、 menuitem_2 、 menuitem_3的 MenuItem 。我们还将创建三个名为menushortcut_1 、 menushortcut_2 、 menushortcut_3的 MenuShortcut,并将它们的键指定为“A”、“B”、“C”。当按下ctrl+A时,将调用menuitem_1 。同样,当ctrl+B , ctrl+C将被按下然后menuitem_2 , menuitem_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(); } }
输出:
- Java程序创建一个菜单栏并向其添加 MenuItems 并将 MenuShortcut 添加到 MenuItems 并将 shift 修饰符添加到 MenuShortcut:在这个程序中,我们将创建一个名为frame的 Frame 、一个名为menubar的 MenuBar 、一个名为 menu 的 Menu 和三个名为menuitem_1的 MenuItem ,菜单项_2 ,菜单项_3 。我们还将创建三个名为menushortcut_1 、 menushortcut_2 、 menushortcut_3的 MenuShortcut,并将它们的键指定为“A”、“B”、“C”,并将 shift 修饰符设置为 true。当按下ctrl+shift+A时,将调用 menuitem_1。同样,当ctrl+shift+B , ctrl+shift+C将被按下menuitem_2 , menuitem_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