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 }

 

posted @ 2016-10-13 16:28  卡拉瓦  阅读(6113)  评论(3编辑  收藏  举报