java 文本框的键盘事件

求一个文本框的键盘监听事件的程序,能逐个检测输入的字符是不是数字,不是刚提示出错,请会的人指点,谢谢,在线等...我发一段代码看看好了:tz1.addKeyListene... 求一个文本框的键盘监听事件的程序,能逐个检测输入的字符是不是数字,不是刚提示出错,请会的人指点,谢谢,在线等...
我发一段代码看看好了:

tz1.addKeyListener(new KeyAdapter(){
public void keyPressed(KeyEvent e){};
public void keyReleased(KeyEvent e){};
public void KeyTyped(KeyEvent e){
char[] keyChar={e.getKeyChar()};
int count1=0;
try{
for(int i=0;i<1000;i++)if(Character.isDigit(keyChar[i]))
{
tz2.setText(new String().valueOf(Integer.parseInt(new String(keyChar))*Integer.parseInt(new String(keyChar))*2000+10000));
count1++;
}
else
tz2.setText("wrong!");
count1=0;

}
catch(Exception e1){}
}
});
为什么我在文本框中tz1中输入数字1后文本框tz2中没反应呢?
求教!!急!在线等!
展开
 我来答
Foxcoming
2009-03-30 · TA获得超过692个赞
知道小有建树答主
回答量:718
采纳率:0%
帮助的人:818万
展开全部
文本框不应该用KeyListener.而且,Key_Char中返回的不是ASCII,而是按键编码,如果你按了小键盘和正常键盘上的键,结果是不一样的。

而且在事件处理里循环的时候,是不能接受其他的按键事件的。

你把Catch 语句中加入:tz2.setText("Exception!" + e1.toString ());
就知道了。按键结果和你想象的不一样啊。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
歪瑞顾K
推荐于2016-02-07 · TA获得超过2905个赞
知道大有可为答主
回答量:2731
采纳率:33%
帮助的人:2210万
展开全部
如果要每输入一个字就检测的话 那只能注册KeyListener了
实现如下方法
void keyPressed(KeyEvent e)
按下某个键时调用此方法。
void keyReleased(KeyEvent e)
释放某个键时调用此方法。
void keyTyped(KeyEvent e)
键入某个键时调用此方法。

注册KeyListener的组件 必须要焦点在其头上才有作用效果
Component.requestFocus()

当然也可以不注册KeyListener 也可以注册可编辑组件的状态监视器 监视内容的改变
java.awt.event.TextListener
实现void textValueChanged(TextEvent e) 文本的值已改变时调用。

然后每一次改变的时候读取一次值 然后验证
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式