如果我在jTextField中输入值,则按下的按键事件不起作用 [英] Key Pressed event does not work if i enter values in jTextField

查看:115
本文介绍了如果我在jTextField中输入值,则按下的按键事件不起作用的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有jtextfiled,它将员工ID作为值。

Textfield Keytyped事件不允许用户输入除数字以外的任何内容。它还限制用户只输入7位数。这很好用。

现在我希望一旦用户输入完整ID,他就会输入密钥,以便启用login\logout按钮。我有问题。

当我的textfiled中有7位数字时,Java无法识别输入keypressed事件并且不执行任何操作。但如果我的数字少于7位,它就可以正常工作。

这是我的代码



 private void TxtFieldKeyTyped (java.awt.event.KeyEvent evt){
int typedchar = evt.getKeyChar();
if(!(Character.isDigit(typedchar)||
typedchar == KeyEvent.VK_BACK_SPACE ||
typedchar == KeyEvent.VK_DELETE)|| TxtField.getCaretPosition()> 6) {
evt.consume();
}

}

private void TxtFieldKeyPressed(java.awt.event.KeyEvent evt){
// TODO在这里添加您的处理代码:

if(evt.getKeyCode()== KeyEvent.VK_ENTER){
fieldValidate(); //确认用户输入的功能
}
}





请尽早帮助我......

感谢adv!

解决方案

而不是处理keyevent,尝试使用PlainDocument来放置你的逻辑。



http://www.example8.com/category/view/id/ 3662 [ ^ ]

I have jtextfiled which takes employee id as value.
Textfield Keytyped event does not let user enter anything other than numbers. Also it restrict user to enter only 7 digits. This works fine.
Now i want that once user enter complete id he hits enter key so that login\logout button will be enabled. Here i have problem.
When i have 7 digit id in my textfiled, Java does not recognize enter keypressed event and doesn't do anything. But if i have less than 7 digits, it works fine.
Here is my code

private void TxtFieldKeyTyped(java.awt.event.KeyEvent evt) {                                  
    int typedchar = evt.getKeyChar();
    if(!(Character.isDigit(typedchar)||
        typedchar== KeyEvent.VK_BACK_SPACE ||
        typedchar== KeyEvent.VK_DELETE) || TxtField.getCaretPosition() > 6){
            evt.consume();
    }
    
}

private void TxtFieldKeyPressed(java.awt.event.KeyEvent evt) {                                    
// TODO add your handling code here:

    if(evt.getKeyCode()==KeyEvent.VK_ENTER ){
        fieldValidate(); //FUnction to validate user input
    }
}



Please help me..as early as possible!
Thanks in adv!

解决方案

Instead of handling the keyevent, try to use PlainDocument to put your logic.

http://www.example8.com/category/view/id/3662[^]


这篇关于如果我在jTextField中输入值,则按下的按键事件不起作用的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆