эмиссия событий в Java
1 Видимо никакой эмиссии нет, по крайней мере не один свинговый компонент, не содержит методов для эмитации посылки ему сообщения.
Интересно откуда такой термин - эмиссия, сильно на физику похоже.
2 Все сообщения можно перехватывать в одном месте, по крайней мере в awt именно такая модель и реализована, однако как это сделать в свинге я не знаю.
Интересно откуда такой термин - эмиссия, сильно на физику похоже.
2 Все сообщения можно перехватывать в одном месте, по крайней мере в awt именно такая модель и реализована, однако как это сделать в свинге я не знаю.
откуда такой термин - эмиссияангл. emit означает "испустить", в физике имеется в виду "испустить" частицу какую-нубудь или еще чего, а тут вот "испускаются" события. В .NET еще есть библиотека System.Reflection.Emit там IL инструкции "испускаются"

Я так понял речь про десктопные приложения. Создавать событие не нужно, т.к. компонент его генерирует сам.
по поводу слушателя см. иерархию компонентов.
поток событий поступающий от JVM к компонентам приложения? такого нет в джаве
по поводу слушателя см. иерархию компонентов.Ты наверно имеешь ввиду перехват событий одного компонента, а нужно разных.
В общем мысль в этом направлении продвинулась
В общем мысль в этом направлении продвинулась
Toolkit.getDefaultToolkit.addAWTEventListener(
new AWTEventListener {
public void eventDispatched(AWTEvent event) {
log(event);
}
},
AWTEvent.WINDOW_EVENT_MASK |
AWTEvent.WINDOW_FOCUS_EVENT_MASK |
AWTEvent.WINDOW_STATE_EVENT_MASK |
AWTEvent.ACTION_EVENT_MASK |
AWTEvent.ITEM_EVENT_MASK |
AWTEvent.MOUSE_EVENT_MASK |
AWTEvent.MOUSE_MOTION_EVENT_MASK |
AWTEvent.KEY_EVENT_MASK |
AWTEvent.FOCUS_EVENT_MASK |
AWTEvent.COMPONENT_EVENT_MASK |
AWTEvent.CONTAINER_EVENT_MASK);
Создавать событие не нужно, т.к. компонент его генерирует сам.Что значит не нужно? Мне нужно!
Ладно. Расскажу общую задачу.
Мы сначала пишем все события в лог.
А потом проигрываем их. И прога должна без участия юзера открывать диалоги, заполнять их данными, жать кнопки…

Если можно обойтись без эмиссии, то как?
Имитировать события видимо все таки можно, например JButton порождается от AbstractButton, а у того есть метод fireActionEvent, но он protected.
Вообще задача очень интересная, надо будет посмотреть исходники свинга, чтобы увидеть откуда реально берутся события.
PS: плз, напиши если, что придумаешь
Вообще задача очень интересная, надо будет посмотреть исходники свинга, чтобы увидеть откуда реально берутся события.
PS: плз, напиши если, что придумаешь
посмотри java.awt.EventQueue
А теперь внимание! Правильный ответ
java.awt.Robot
java.awt.Robot
Это разные вещи.
Using the class to generate input events differs from posting events to the AWT event queue or AWT components in that the events are generated in the platform's native input queue. For example, Robot.mouseMove will actually move the mouse cursor instead of just generating mouse move events.
Я не сомневаюсь, что твой класс бы мне помог, но это сложный путь в случае если в апликации несколько сотен компонентов.
Робот – универсальный метод для решения этой задачи. Вообще очень забавно получилось
Одно только не могу понять : когда мышь находится в области заголовка окна, будь то главное или диалоговое, события не поступают, поэтому перетащить окно за заголовок не возможно 
Робот – универсальный метод для решения этой задачи. Вообще очень забавно получилось
Одно только не могу понять : когда мышь находится в области заголовка окна, будь то главное или диалоговое, события не поступают, поэтому перетащить окно за заголовок не возможно 
Оставить комментарий
mama10001
Вопрос первый. Если можно вызывать эмиссию событий в Java, то как?Например создать событие myEvent = new ActionEvent(myComponent, “cmd” сделать emit(myEvent) и оно будет доставлено по назначению.
Вопрос второй. Можно ли в самой программе перехватывать весь поток событий поступающий от JVM к компонентам приложения, не внедряя в каждый компонент своего слушателя?