-1

当我使用回车键时,我试图让 jTextField 执行搜索。searchButton 进行搜索,所以我需要在文本字段中按下按键的动作来触发 searchButton 的动作。

这是我刚才的内容,当我在文本字段中按 Enter 时,控制台上会显示“Enter Pressed”。

ActionListener actionListener = new ActionListener() {
  public void actionPerformed(ActionEvent actionEvent) {
    SearchButton.getActionForKeyStroke(
      KeyStroke.getKeyStroke(KeyEvent.VK_SPACE, 0, false));
    System.out.println("Enter Pressed");
  }
};

KeyStroke keystroke = KeyStroke.getKeyStroke(KeyEvent.VK_ENTER, 0, false);
jTextField1.registerKeyboardAction(actionListener, keystroke, JComponent.WHEN_FOCUSED);
4

1 回答 1

1

为什么不对文本字段和按钮重复使用相同的 ActionListener 呢?

或者,如果您无权访问按钮的侦听器,则可以这样做:

jTextField1.addActionListener(new ActionListener()
{
  public void actionPerformed(ActionEvent actionEvent)
  {
    searchButton.doClick();
  }
}
于 2012-12-12T16:25:11.637 回答