Подтвердить что ты не робот

Как добавить ActionListener в JButton в Java

private JButton jBtnDrawCircle = new JButton("Circle");
private JButton jBtnDrawSquare = new JButton("Square");
private JButton jBtnDrawTriangle = new JButton("Triangle");
private JButton jBtnSelection = new JButton("Selection");

Как добавить к этим кнопкам прослушиватели действий, так что из основного метода я могу называть actionperformed на них, поэтому, когда они будут нажаты, я могу вызвать их в своей программе?

4b9b3361

Ответ 1

Два способа:

1. Внедрите ActionListener в свой класс, затем используйте jBtnSelection.addActionListener(this);. Позже вам нужно будет определить menthod, public void actionPerformed(ActionEvent e). Однако делать это для нескольких кнопок может сбивать с толку, потому что метод actionPerformed должен будет проверить источник каждого события (e.getSource()), чтобы увидеть, от какой кнопки он пришел.

2. Использовать анонимные внутренние классы:

jBtnSelection.addActionListener(new ActionListener() { 
  public void actionPerformed(ActionEvent e) { 
    selectionButtonPressed();
  } 
} );

Позже вам нужно будет определить selectionButtonPressed(). Это работает лучше, если у вас несколько кнопок, потому что ваши вызовы для отдельных методов обработки действий находятся прямо рядом с определением кнопки.

Второй метод также позволяет вам напрямую вызвать метод выбора. В этом случае вы можете вызвать selectionButtonPressed(), если произойдет какое-то другое действие, например, когда таймер выключится или что-то в этом роде (но в этом случае ваш метод будет называться чем-то другим, может быть selectionChanged()).

Ответ 3

Я не полностью понимаю, но чтобы добавить прослушиватель действий, вы просто вызываете addActionListener (из кнопки "Абстракт" ), Если это не полностью ответит на ваш вопрос, можете ли вы предоставить более подробную информацию?