генерирование события

  • Автор темы bingo
  • Дата начала
Статус
Закрыто для дальнейших ответов.
B

bingo

Как сгенерировать программно событие, а именно нажатие кнопки?
В AbstractButton есть метод fireActionPerformed, но он protected, зачем так сделали не пойму или он не для этого? Неужели наследовать придется и объявлять public'ом?
 
V

vovander

А зачем генерировать событие нажатия кнопки, можешь по подробнее объяснить причину? Я может что-то не так понимаю, но в обработчике события выполняется какая-то логика, можно ведь напрямую вызывать тоже самое.
 
B

bingo

Например, очень образно, для пользователя существует в проге опция "автоматического нажатия кнопки" по окончанию каких-либо действий. Логично было бы программно добавить в очередь событий это нажатие (как я понимаю fireXXX), а не вызывать напрямую. Притом напрямую ж тоже не всегда можно будет вызвать, тогда придется выносить это дело в отдельный общедоступный метод, чтоб не дублировать... проще б добавить событие в очередь и делов то. Вот как это сделать правильно, не знаю.
Да, тут есть варианты: один очевидный - doClick(), но я кнопку как пример привел, может быть не кнопка.
 
G

gidrant

Можно оппробовать вот так:

Код:
import java.awt.*;
import java.awt.event.KeyEvent;

public class RobotTest {

public static void main(String[] args) {
try {
Robot robot = new Robot();
robot.keyPress(KeyEvent.VK_ENTER);
} catch (AWTException e) {
e.printStackTrace(); //To change body of catch statement use File | Settings | File Templates.
}
}
}

 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!