當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。