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中没反应呢?
求教!!急!在线等! 展开
我发一段代码看看好了:
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中没反应呢?
求教!!急!在线等! 展开
展开全部
文本框不应该用KeyListener.而且,Key_Char中返回的不是ASCII,而是按键编码,如果你按了小键盘和正常键盘上的键,结果是不一样的。
而且在事件处理里循环的时候,是不能接受其他的按键事件的。
你把Catch 语句中加入:tz2.setText("Exception!" + e1.toString ());
就知道了。按键结果和你想象的不一样啊。
而且在事件处理里循环的时候,是不能接受其他的按键事件的。
你把Catch 语句中加入:tz2.setText("Exception!" + e1.toString ());
就知道了。按键结果和你想象的不一样啊。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果要每输入一个字就检测的话 那只能注册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) 文本的值已改变时调用。
然后每一次改变的时候读取一次值 然后验证
实现如下方法
void keyPressed(KeyEvent e)
按下某个键时调用此方法。
void keyReleased(KeyEvent e)
释放某个键时调用此方法。
void keyTyped(KeyEvent e)
键入某个键时调用此方法。
注册KeyListener的组件 必须要焦点在其头上才有作用效果
Component.requestFocus()
当然也可以不注册KeyListener 也可以注册可编辑组件的状态监视器 监视内容的改变
java.awt.event.TextListener
实现void textValueChanged(TextEvent e) 文本的值已改变时调用。
然后每一次改变的时候读取一次值 然后验证
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询