1. 程式人生 > 實用技巧 >Java基礎入門-第八章-09

Java基礎入門-第八章-09

Java-GUI-Example09

鍵盤事件:

Java中提供了一個KeyEvent類表示鍵盤事件,處理KeyEvent事件的監聽器物件需要實現KeyListener介面或者繼承KeyAdapter類,然後呼叫addKeyListener()方法將監聽器繫結到事件源物件。

Example09.java

 1 package GUI;
 2 import java.awt.*;
 3 import java.awt.event.*;
 4 import javax.swing.*;
 5 public class Example09 {
 6     private static void createAndShowGUI() {
7 JFrame f=new JFrame("KeyEvent"); 8 f.setLayout(new FlowLayout()); 9 f.setSize(400,300); 10 f.setLocation(300,200); 11 JTextField tf=new JTextField(30); //建立文字框物件 12 f.add(tf); //在視窗中新增文字框元件 13 f.setVisible(true); 14 f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
15 //為文字框新增鍵盤監聽器 16 tf.addKeyListener(new KeyAdapter() { 17 public void keyPressed(KeyEvent e) { 18 //獲取對應的鍵盤字元 19 char keyChar=e.getKeyChar(); 20 //獲取對應的鍵盤字元程式碼 21 int keyCode=e.getKeyCode(); 22 System.out.print("鍵盤按下的字元內容為:"+keyChar+"");
23 System.out.println("鍵盤按下的字元程式碼為:"+keyCode); 24 } 25 }); 26 } 27 public static void main (String[] args) { 28 //使用SwingUtilities工具類呼叫createAndShowGUI()方法並顯示GUI程式 29 SwingUtilities.invokeLater(Example09::createAndShowGUI); 30 } 31 }

效果:

JTextComponent類的子類JTextField,它只允許編輯單行文字。

在文字框中輸入字元時,觸發鍵盤事件,會執行重寫的keyPressed()方法。

通過KeyEvent類的getKeyChar()方法獲取鍵盤輸入的字元,通過getKeyCode()方法可以獲取輸入字元對應的整數值。