黑马程序员技术交流社区
标题:
GUI问题,键盘上排数字键盘和右边数字键盘操作不一样!
[打印本页]
作者:
黑马一刘昭
时间:
2013-6-11 17:49
标题:
GUI问题,键盘上排数字键盘和右边数字键盘操作不一样!
本帖最后由 黑马一刘昭 于 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);
}
}
复制代码
作者:
陈雪琪
时间:
2013-6-11 19:38
哈哈 楼主这个问题我原来也发帖问过,问题几乎是 一样的。楼主可以看看。
http://bbs.itheima.com/thread-54557-1-1.html
具体的细节问题我也不是很懂 了
作者:
黑马一刘昭
时间:
2013-6-11 20:18
陈雪琪 发表于 2013-6-11 19:38
哈哈 楼主这个问题我原来也发帖问过,问题几乎是 一样的。楼主可以看看。
http://bbs.itheima.com/thread- ...
谢谢黑马姑凉!!么么哒!
作者:
黑马一刘昭
时间:
2013-6-11 20:19
小键盘和主键盘的数字生成的unicode码不同。不是大问题,有点绕!就这样吧!!黑马人加油!!
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2