java 24 - 6 GUI之 創建只能輸入數字的文本框


需求:
  創建一個含有標簽和文本框的窗體,其中文本框只能輸入數字

步驟:(大致上)
  創建窗體對象
  創建標簽對象
  創建文本框對象
  把組件添加到窗體中
  設置標簽的監聽事件,對鍵盤按下的數據進行監聽
  設置窗體關閉監聽事件
  設置顯示窗體

 

代碼:

  

 1 public class FrameTest3 {
 2 
 3     public static void main(String[] args) {
 4 
 5         // 創建窗體對象
 6         Frame f = new Frame("QQ號碼");
 7         f.setBounds(300, 300, 500, 400);
 8         f.setLayout(new FlowLayout());//別忘了布局設置  9 
10         // 創建標簽對象
11         Label l = new Label("請輸入QQ號碼,非數字顯示不出來");
12 
13         // 創建文本框對象
14         TextField tf = new TextField(20);
15 
16         // 把組件添加到窗體中
17         f.add(l);
18         f.add(tf);
19 
20         // 設置窗體關閉監聽事件
21         f.addWindowListener(new WindowAdapter() {
22             public void windowClosing(WindowEvent e) {
23                 System.exit(0);
24             }
25         });
26         
27         // 設置文本框的監聽事件,對輸入的數據進行監聽
28         // 由於是不讓非數字的數據出現到文本框中
29         // 所以監聽對象是鍵盤:KeyListener鍵盤偵聽器 KeyAdapter 鍵盤適配器
30         tf.addKeyListener(new KeyAdapter() {
31             // public void keyPressed(KeyEvent e)按下某個鍵時調用此方法。
32             public void keyPressed(KeyEvent e) {// KeyEvent:鍵盤類 33                 // 首先得獲取到鍵盤按下的字符
34                 // 然后進行判斷是否是數字鍵,如果不是,則取消這次操作
35                 // public void consume()使用此事件,以便不會按照默認的方式由產生此事件的源代碼來處理此事件。
36 
37                 char c = e.getKeyChar();
38 
39                 if (!(c >= '0' && c <= '9')) {
40                     e.consume();
41                 }
42             }
43         });
44 
45 
46 
47         // 設置顯示窗體
48         f.setVisible(true);
49 
50     }
51 }

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM