本帖最后由 黑马一刘昭 于 2013-6-11 20:27 编辑
目的:想在文本框中实现只可以添加数字别的符号添加不进来!
问题:对于我的第一个文本框,键盘上面一排的数字键可以完成输入,右边的数字键盘却会提示错误!
对于我的第二个文本框,恰巧相反,键盘上面一排的数字键不可以可以完成输入,会提示错误,右边的数字键盘却可以完成输入!
疑惑了,同样的输入数字,莫非这两个数字键盘还不一样??奇怪的问题啊!!
其实不一样的也就是一行代码,但是两种都不可以保证上面一排数字键和右边数字键的同时输入!郁闷了,求人回复!!有金币送之!!!- package june610;
- import java.awt.FlowLayout;
- import java.awt.Frame;
- import java.awt.TextField;
- import java.awt.event.KeyAdapter;
- import java.awt.event.KeyEvent;
- public class FrameTextDemo {
- public static void main(String[] args) {
- Frame f = new Frame();
- f.setBounds(400, 300, 500, 400);
- TextField tf = new TextField("第一个",20);//第一个文本框,用名字区分下
- TextField tf2 = new TextField("第二个",20);
- f.add(tf);
- f.add(tf2);
- f.setLayout(new FlowLayout());
-
- /**
- * 对于我的第一个文本框,键盘上面一排的数字键可以完成输入,
- * 右边的数字键盘却会提示错误!
- * 从右边键盘输入的话:
- * 错误(右边键盘输入错误,上排键盘输出正常)
- * 第一个文本框:5不是数字!
- 第一个文本框:6不是数字!
- 第一个文本框:7不是数字!
- */
-
- tf.addKeyListener(new KeyAdapter(){//对第一个文本框添加键盘监听器
- public void keyPressed(KeyEvent e){
- //其实真正的不一样也就在这行代码!
- if(!(e.getKeyCode()>=KeyEvent.VK_0 && e.getKeyCode()<=KeyEvent.VK_9)){
- System.out.println("第一个文本框:"+e.getKeyChar()+"不是数字!");
- e.consume();
- }
- }
- });
-
- /**
- * 对于我的第二个文本框,恰巧相反,
- * 键盘上面一排的数字键不可以可以完成输入,会提示错误,
- * 而右边的数字键盘却可以完成输入!
- * 从右边键盘输入的话:
- * 错误(右边键盘输入正确,上排键盘输出出现这样的错误!)
- * 第二个文本框:5不是数字!
- 第二个文本框:6不是数字!
- 第二个文本框:6不是数字!
- */
- tf2.addKeyListener(new KeyAdapter(){//对第二个文本框添加键盘监听器
- public void keyPressed(KeyEvent e){
- //其实真正的不一样也就在这行代码!
- if(!(e.getKeyCode()>=95 && e.getKeyCode()<=105)){
- System.out.println("第二个文本框:"+e.getKeyChar()+"不是数字!");
- e.consume();
- }
- }
- });
- f.setVisible(true);
- }
- }
复制代码 |
|