天天看點

Java GUI之KeyListener

Java GUI之KeyListener,用于鍵盤監聽事件,繼承自EventListener,可以監聽鍵盤按鍵的按下,釋放等操作。      
如下是KeyListen接口的定義:      
public interface KeyListener extends EventListener {

    /**
     * Invoked when a key has been typed.
     * See the class description for {@link KeyEvent} for a definition of
     * a key typed event.
     */
    public void keyTyped(KeyEvent e);

    /**
     * Invoked when a key has been pressed.
     * See the class description for {@link KeyEvent} for a definition of
     * a key pressed event.
     */
    public void keyPressed(KeyEvent e);

    /**
     * Invoked when a key has been released.
     * See the class description for {@link KeyEvent} for a definition of
     * a key released event.
     */
    public void keyReleased(KeyEvent e);
}      
public class KeyBoardListen extends JFrame {
   /**
    * 
    */
   private static final long serialVersionUID = 1L;
   private String s = null;
   private JLabel label;

   KeyBoardListen() {
      setLayout(new FlowLayout());
      label = new JLabel();
      addKeyListener(new KeyListener() {
         @Override
         public void keyTyped(KeyEvent e) {
            // TODO Auto-generated method stub
            s = "按下的鍵是Type:" + e.getKeyChar();
            label.setText(s);
            System.out.println(s);
         }

         @Override
         public void keyReleased(KeyEvent e) {
            // TODO Auto-generated method stub
            s = "釋放的鍵是:" + e.getKeyChar();
            label.setText(s);
            System.out.println(s);
         }

         @Override
         public void keyPressed(KeyEvent e) {
            // TODO Auto-generated method stub
            s = "按下的鍵是Press:" + e.getKeyChar();
            label.setText(s);
            System.out.println(s);
         }
      });
      add(label);
      setBounds(350, 100, 600, 500);
      setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      setVisible(true);
   }

   public static void main(String[] args) {
      new KeyBoardListen();
   }
}      
源碼位址:https://github.com/followwwind/javase