Java 在我的登录JPanel中添加一个KeyListener

Java 在我的登录JPanel中添加一个KeyListener,java,swing,keylistener,jcomponent,Java,Swing,Keylistener,Jcomponent,我有一个JPanel作为登录页面。这个JPanel包含一个用于插入用户名的JTextField,一个用于密码的JPasswordField,显然还有一个确认JButton 我希望,即使用户从剪贴板键入ENTER,也会执行身份验证过程 所以我让我的类实现KeyListener,用 addKeyListener(this); 并重写以下方法: @Override public void keyPressed(KeyEvent arg0) { if (arg0.getKeyCode() ==

我有一个
JPanel
作为登录页面。这个
JPanel
包含一个用于插入用户名的
JTextField
,一个用于密码的
JPasswordField
,显然还有一个确认
JButton

我希望,即使用户从剪贴板键入
ENTER
,也会执行身份验证过程

所以我让我的类实现KeyListener,用

addKeyListener(this);
并重写以下方法:

@Override
public void keyPressed(KeyEvent arg0) {
    if (arg0.getKeyCode() == KeyEvent.VK_ENTER)
        centrale.autentica(nome_utente.getText(), password.getPassword());
}
但什么也没发生。我注意到,如果我将JTextField注册为关键事件的使用者,事情就会正常进行,所以我应该这样做

addKeyListener(this);
myjtextfield.addKeyListener(this);
myjpasswordfield.addKeyListener(this);

但我觉得有点难看。有人能告诉我哪里错了吗?

不要使用键盘监听器

通常,Swing设计用于键绑定。但是,在这种情况下,您甚至不需要密钥绑定

对于
JTextField
,您只需在文本字段中添加一个
ActionListener
,如果用户按下Enter键,将调用ActionListener

此外,您可能在表单上有一个“登录”按钮,因此您可以将登录按钮设置为默认按钮,以便在按下Enter键时激活该按钮,即使该按钮没有焦点

getRootPane().setDefaultButton( loginButton );

不要使用KeyListener

通常,Swing设计用于键绑定。但是,在这种情况下,您甚至不需要密钥绑定

对于
JTextField
,您只需在文本字段中添加一个
ActionListener
,如果用户按下Enter键,将调用ActionListener

此外,您可能在表单上有一个“登录”按钮,因此您可以将登录按钮设置为默认按钮,以便在按下Enter键时激活该按钮,即使该按钮没有焦点

getRootPane().setDefaultButton( loginButton );

不要使用KeyListener

通常,Swing设计用于键绑定。但是,在这种情况下,您甚至不需要密钥绑定

对于
JTextField
,您只需在文本字段中添加一个
ActionListener
,如果用户按下Enter键,将调用ActionListener

此外,您可能在表单上有一个“登录”按钮,因此您可以将登录按钮设置为默认按钮,以便在按下Enter键时激活该按钮,即使该按钮没有焦点

getRootPane().setDefaultButton( loginButton );

不要使用KeyListener

通常,Swing设计用于键绑定。但是,在这种情况下,您甚至不需要密钥绑定

对于
JTextField
,您只需在文本字段中添加一个
ActionListener
,如果用户按下Enter键,将调用ActionListener

此外,您可能在表单上有一个“登录”按钮,因此您可以将登录按钮设置为默认按钮,以便在按下Enter键时激活该按钮,即使该按钮没有焦点

getRootPane().setDefaultButton( loginButton );

不要使用密钥侦听器。只需将ActionListener添加到JPasswordField;它应该对按下“回车”键做出响应。

不要使用按键侦听器。只需将ActionListener添加到JPasswordField;它应该对按下“回车”键做出响应。

不要使用按键侦听器。只需将ActionListener添加到JPasswordField;它应该对按下“回车”键做出响应。

不要使用按键侦听器。只需将ActionListener添加到JPasswordField;它应该对按下“回车”键作出响应