Дополнительно
Как добавить 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
на них, чтобы при нажатии на них я мог вызвать их в своей программе?
27
3
Двумя способами:
Реализовать ActionListener в своем классе, затем использовать
jBtnSelection.addActionListener(this);
Позже вам'придется определить метод,public void actionPerformed(ActionEvent e)
. Однако, делая это для нескольких кнопок, можно запутаться, потому что методactionPerformed
должен будет проверить источник каждого события (e.getSource()
), чтобы узнать, от какой кнопки оно пришло.Используйте анонимные внутренние классы:
Позже вам'придется определитьselectionButtonPressed()
. Это лучше работает, когда у вас несколько кнопок, потому что вызовы отдельных методов для обработки действий находятся рядом с определением кнопки.Второй метод также позволяет вызывать метод выбора напрямую. В этом случае вы можете вызвать
selectionButtonPressed()
, если происходит какое-то другое действие - например, когда срабатывает таймер или что-то еще (но в этом случае ваш метод будет называться как-то иначе, возможноselectionChanged()
).Лучше всего просмотреть учебники по Java Swing, в частности учебник по кнопкам.
Короткий фрагмент кода выглядит следующим образом:
Я не совсем понял, но чтобы добавить слушателя действия, вы просто вызываете addActionListener (из Abstract Button). Если это не полностью отвечает на ваш вопрос, не могли бы вы предоставить больше деталей?