Программно спровоцировать событие нажатия JButton
Имеется кнопка JButton applyButton с обработчиком события ActionEvent.ACTION_PERFORMED. Необходимо программно создать это событие.
Рабочий способ:
ActionEvent actionEvent = new ActionEvent(applayButton, ActionEvent.ACTION_PERFORMED, "");
for (ActionListener listener : applyButton.getActionListeners()){
listener.actionPerformed(actionEvent);
}
А это способ, который по моим представлениям должен работать, однако не работает:
applyButton.dispatchEvent(new ActionEvent(applayButton, ActionEvent.ACTION_PERFORMED, "");
Почему не работает второй способ?
Ответы (1 шт):
Автор решения: Pavel Miniutka
→ Ссылка
Может достаточно вызвать doClick()?
applyButton.addActionListener((ActionListener) e -> {
// do smth
});
applyButton.doClick();