我正在用Java编写一个软件,使用swing编程的GUI。用户必须循环执行这两项操作:
按Enter键后,其他一些字段会显示一些数据。单击该按钮后,将清除所有文本字段并重新启动该过程。要填写的文本字段始终为A,单击的按钮始终为B.这是我要实现的内容:
实施此方法最简单的方法是什么?下面我要报告我已经尝试过的事情。
我尝试在文本字段中按下Enter后立即选中按钮:
this.getRootPane().setDefaultButton(ButtonNextQuestion);
但是当我按Enter键时,它会被文本字段和按钮注册,我看不到中间数据。
我也尝试过以下几行:
ButtonNextQuestion.requestFocus();
ButtonNextQuestion.setSelected(true);
在这种情况下,一切似乎都有效,但是当我按下回车键时,按钮没有被点击。
答案 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();