【问题标题】:multiple actions off one key press in java [closed]java中的一键按下多个动作[关闭]
【发布时间】:2012-12-05 18:43:25
【问题描述】:

我正在尝试创建一个简单的登录系统,并且我希望用户能够在他们按下回车按钮时继续进行下一部分,并且我设法让它在注册部分工作,这样当用户已经完成输入他们的详细信息,他们可以按回车键,程序进入下一部分,但我想要这样,当用户输入他们的登录详细信息时,他们可以按回车键,然后程序将执行下一部分代码。

    card3 = new JPanel();
    usernameFieldone = new JTextField(10);
    usernameLabel = new JLabel("Username:");
    usernameLabel.setLabelFor(usernameFieldone);
    passwordFieldone = new JPasswordField(10);
    passwordLabel = new JLabel("Password:");
    passwordLabel.setLabelFor(passwordFieldone);
    passwordFieldre = new JPasswordField(10);
    passwordLabelre = new JLabel("Confirm Password: ");
    passwordLabelre.setLabelFor(passwordFieldre);
    passwordFieldre.addKeyListener(this);
    OKButton = new JButton("OK");
    OKButton.addActionListener(this);
    backButton = new JButton("Back");
    backButton.addActionListener(this); 

public void keyReleased(KeyEvent e){
    CardLayout cl = (CardLayout)(cards.getLayout());

    if(e.getKeyCode()==KeyEvent.VK_ENTER){
        if(
        Register();
    }
}`

【问题讨论】:

  • 对不起,新手,这是秋千
  • 发布SSCCE

标签: java swing keylistener cardlayout


【解决方案1】:

这是一个例子:

(...)
//register a Key listener event
myComponent.addKeyListener(new java.awt.event.KeyAdapter() {
        public void keyPressed(java.awt.event.KeyEvent evt) {
            enter_Pressed(evt);
        }
    });

(...)

private void enter_Pressed(java.awt.event.KeyEvent evt){                                        
    //if ENTER is pressed
    if (evt.getKeyCode() == KeyEvent.VK_ENTER) {
        //do someting
    }
}

【讨论】:

  • 不,KeyListener 用于低级处理。他宁愿使用键绑定。也许,如果他有某种“确定”按钮,他可以简单地使用 JRootPane 默认按钮。
  • 我让程序在按下回车键时执行下一部分代码,但我希望它在按下回车键时执行多个操作,例如,当他们输入注册详细信息,他们可以按 Enter 并执行代码的下一部分,但我想要它,这样当他们登录时,他们也可以按 Enter,它将进入系统,而不是在他们点击时执行已经指定的代码进入注册
猜你喜欢
  • 2014-06-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-07-24
  • 1970-01-01
相关资源
最近更新 更多