在按钮和文本字段之间切换选择

时间:2014-05-25 21:55:11

标签: java swing user-interface

我正在用Java编写一个软件,使用swing编程的GUI。用户必须循环执行这两项操作:

  1. 在文本字段中写下一些单词(我们称之为A),然后按Enter键
  2. 点击按钮(我们称之为B)
  3. 按Enter键后,其他一些字段会显示一些数据。单击该按钮后,将清除所有文本字段并重新启动该过程。要填写的文本字段始终为A,单击的按钮始终为B.这是我要实现的内容:

    1. 在文本字段填写并按下Enter后,按钮以某种方式被选中,以便如果用户再次按Enter键,则单击该按钮
    2. 按下按钮后,文本字段被选中并处于“写入模式”,以便用户可以立即开始输入
    3. 实施此方法最简单的方法是什么?下面我要报告我已经尝试过的事情。


      我尝试在文本字段中按下Enter后立即选中按钮:

      this.getRootPane().setDefaultButton(ButtonNextQuestion);
      

      但是当我按Enter键时,它会被文本字段和按钮注册,我看不到中间数据。

      我也尝试过以下几行:

      ButtonNextQuestion.requestFocus();
      ButtonNextQuestion.setSelected(true);
      

      在这种情况下,一切似乎都有效,但是当我按下回车键时,按钮没有被点击。

1 个答案:

答案 0 :(得分:1)

感谢AdamK!

按钮的焦点如下:

ButtonNextQuestion.requestFocus();
ButtonNextQuestion.setSelected(true);

我必须像这样添加一个监听器:

private void ButtonNextQuestionKeyPressed(java.awt.event.KeyEvent evt){                                              
    if(evt.getKeyCode() == 10) {//ENTER pressed: click
        ButtonNextQuestion.doClick();
    }
}

然后再次自动选择并准备好我写的文本字段:

TextYourAnswer.requestFocus();