A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 Diaraelo 于 2013-12-14 15:51 编辑

毕老师讲过一个关于键盘录入的事件,通过毕老师的代码只能进行键盘数字录入,不能使用其他字符的。
我写了下代码大概如下吧
  1. tf.addKeyListener(new KeyAdapter()
  2. {
  3. public void keyPressed(KeyEvent e)
  4. {
  5. if(!((e.getKeyCode()<=e.VK_9 && e.getKeyCode()>=e.VK_0) || e.getKeyCode()==8))
  6. {
  7. System.out.println(e.VK_0+"<"+e.getKeyCode()+"<"+e.VK_9);
  8. lab.setText("只能输入数字!");
  9. e.consume();
  10. }
  11. else
  12. {
  13. lab.setText("请输入QQ号码!!");
  14. }
  15. }
  16. });
复制代码


确实可以阻止键盘上数据的非数字录入,但你如果我使用输入法比如qq输入法或者其他输入法的时候,其实是通过键盘
传入给输入法,然后再复制粘贴给了那个文本区域,结果就不能阻止非数字的录入了。。。。
我想知道是用什么事件才能阻止的输入法将文字录入呢?



7 个回复

倒序浏览
FFF 金牌黑马 2013-12-14 15:02:05
沙发
我也正在学GUI、这个问题,我也不知道有没有方法可以直接做。不过,可以在键盘或者鼠标上建立侦听器、当复制事件发生时,检查对话框内的字符是否是数字,不是就删除。
回复 使用道具 举报 1 0
FFF 发表于 2013-12-14 15:02
我也正在学GUI、这个问题,我也不知道有没有方法可以直接做。不过,可以在键盘或者鼠标上建立侦听器、当复 ...

哦哦,:lol超级感谢,我还以为有什么监控器可以直接阻止不合格文字录入来着。我还想再问下下,复制事件是用什么来判定的,能告诉我API中类的位置好吗?
回复 使用道具 举报
FFF 金牌黑马 2013-12-14 15:47:02
板凳
{:soso_e149:}我也忘记了~~~你查查吧~
回复 使用道具 举报
FFF 发表于 2013-12-14 15:47
我也忘记了~~~你查查吧~

哦 3Q:lol
回复 使用道具 举报
FFF 金牌黑马 2013-12-14 15:54:51
地板
回复 使用道具 举报

哈哈 我最喜欢L了,电影里演得最像的也是L了,不过我也很喜欢尼亚,因为他给L报仇了
回复 使用道具 举报
FFF 金牌黑马 2013-12-14 16:39:15
8#
Diaraelo 发表于 2013-12-14 16:05
哈哈 我最喜欢L了,电影里演得最像的也是L了,不过我也很喜欢尼亚,因为他给L报仇了 ...

L太冷~还是莎姑娘最好~~~那个~吃苹果的~很帅
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马