Выполнить тот же код в действии, выполняемом кнопкой, при нажатии enter из текстового поля

#java #swing

#java #swing

Вопрос:

У меня есть класс, расширяющий JDialog. В это я помещаю JTextField и JButton (jButton1). Внутри jButton1ActionPerformed есть некоторый код.

Я хочу выполнить тот же код, когда я ввожу некоторые значения в JTextField и нажимаю кнопку enter.

Ответ №1:

Пусть ваш класс реализует ActionListener и поместит ваш код внутрь actionPerformed метода. Затем вы можете установить экземпляр в качестве ActionListener как для кнопки, так и для текстового поля.

 public MyDialog extends JDialog implements ActionListener
{
  JTextField myTextField;
  JButton myButton;

  public MyDialog()
  {
    //set up and add components here

    myButton.addActionListener(this);
    myTextField.addActionListner(this);
  }

  public void actionPerformed(ActionEvent evt)
  {
    //code here that does stuff when button pressed, or enter pressed on text field
  }
}
  

Комментарии:

1. 1, или вы также можете создать действие, которое может быть добавлено к обоим прослушивателям. Преимущество использования действия заключается в том, что вы потенциально можете отключить / включить действие, а действия могут использоваться с привязками клавиш, если это когда-либо потребуется.

Ответ №2:

 jButton1.doClick();
  

вы можете вызвать это