keylistenerdemo.java

来自「《java事件处理指南》一书的代码,好东西」· Java 代码 · 共 79 行

JAVA
79
字号
import java.awt.*;import java.awt.event.*;import javax.swing.*;public class KeyListenerDemo extends JFrame {   private JTextField jtf, jtf2, jtf3, jtf4;   public KeyListenerDemo()   {/*  A JTextField is created and placed on a JFrame.  The JTextField   *//*  registers a KeyListener.                                          */      jtf = new JTextField(15);      jtf.setBorder(BorderFactory.createLineBorder(Color.black));      jtf.addKeyListener(new KeyHandler());      jtf2 = new JTextField(12);      jtf2.setText("key pressed:");      jtf2.setEditable(false);      jtf3 = new JTextField(12);      jtf3.setText("key released:");      jtf3.setEditable(false);      jtf4 = new JTextField(12);      jtf4.setText("key typed:");      jtf4.setEditable(false);      JPanel panel = new JPanel();      panel.add(jtf);      JPanel panel2 = new JPanel();      panel2.add(jtf2);      panel2.add(jtf3);      panel2.add(jtf4);      getContentPane().add(panel, BorderLayout.CENTER);      getContentPane().add(panel2, BorderLayout.SOUTH);      setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);      setBounds(100, 100, 500, 200);      setVisible(true);   }/*  The KeyListener is implemented as an inner class.  For key  *//*  pressed and key released type KeyEvents, the virtual key    *//*  code of the keystroke that caused the event is written to   *//*  a textfield.  Key typed events don't have key code or       *//*  modifier information, so the character that was typed is    *//*  written to a textfield.                                     */   class KeyHandler implements KeyListener   {      public void keyPressed(KeyEvent event)      {         jtf2.setText("key pressed: "+                         event.getKeyText(event.getKeyCode()));      }      public void keyReleased(KeyEvent event)      {         jtf3.setText("key released: "+                         event.getKeyText(event.getKeyCode()));      }      public void keyTyped(KeyEvent event)      {         jtf4.setText("key typed: "+                         event.getKeyChar());      }   }   public static void main(String args[])   {      KeyListenerDemo demo = new KeyListenerDemo();   }}

⌨️ 快捷键说明

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