⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 menukeyeventdemo.java

📁 《java事件处理指南》一书的代码,好东西
💻 JAVA
字号:
import javax.swing.*;import javax.swing.event.*;import java.awt.*;import java.awt.event.*;public class MenuKeyEventDemo extends JFrame implements ActionListener{   private JMenuBar menuBar;   private JMenu menu;   private JMenuItem font10, font12, font14;   private JLabel label;   private int fontStyle, fontSize;   public MenuKeyEventDemo()    {      fontStyle = Font.PLAIN;      fontSize = 12;/*  A "Font Size" menu is created with three menu items.  The menu    *//*  is intended to set the font size of a label. The three JMenuItem  *//*  objects register an ActionListener.                               */      font10 = new JMenuItem("10");      font10.addActionListener(this);      font12 = new JMenuItem("12");      font12.addActionListener(this);      font14 = new JMenuItem("14");      font14.addActionListener(this);/*  The three JMenuItem objects are placed inside a JMenu.  The JMenu  *//*  registers a MenuKeyListener.                                       */      menu = new JMenu("Font Size");      menu.add(font10);      menu.add(font12);      menu.add(font14);      menu.addMenuKeyListener(new MenuKeyHandler());      menuBar = new JMenuBar();      menuBar.add(menu);      label = new JLabel("Java, Java, Java");      label.setFont(new Font("Serif", fontStyle, fontSize));      label.setForeground(Color.black);      JPanel panel = new JPanel();      panel.add(label);      getContentPane().add(menuBar, BorderLayout.NORTH);      getContentPane().add(panel, BorderLayout.CENTER);      setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);      setBounds(100, 100, 300, 200);      setVisible(true);   }/*  The MenuKeyListener is implemented as an inner class.  Whenever  *//*  the menu display is visible and the user presses a key, the      *//*  JMenu will generate a MenuKeyEvent and send it to the            *//*  menuKeyPressed() method.  If the keystroke was 'b', the font     *//*  type is set to Font.BOLD.  If the keystroke was 'p', the font    *//*  type is set to Font.PLAIN.  The menuKeyReleased() and            *//*  menuKeyTyped() methods are not used in this example, so they     *//*  implemented as stub methods.                                     */   class MenuKeyHandler implements MenuKeyListener   {      public void menuKeyPressed(MenuKeyEvent event)       {         if ( event.getKeyCode() == KeyEvent.VK_B )         {            fontStyle = Font.BOLD;         }         if ( event.getKeyCode() == KeyEvent.VK_P )         {            fontStyle = Font.PLAIN;         }      }      public void menuKeyReleased(MenuKeyEvent event) {}      public void menuKeyTyped(MenuKeyEvent event) {}   }/*  When a menu item is selected, it generates an ActionEvent that is  *//*  sent to the actionPerformed() method.  This method re-sets the     *//*  font size of the label.                                            */   public void actionPerformed(ActionEvent event)   {      fontSize = Integer.parseInt(event.getActionCommand());      label.setFont(new Font("Serif", fontStyle, fontSize));      invalidate();      validate();   }   public static void main(String args[])    {      MenuKeyEventDemo demo = new MenuKeyEventDemo();   }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -