Как я могу создать событие MouseWheelEvent
для некоторого Object
?Создать событие, Swing
2
A
ответ
2
MouseWheelEvent mwe = new MouseWheelEvent(...);
component.dispatchEvent(mwe);
3
Вы можете использовать Robot class.Take взглянуть на Mouse Wheel method
2
Ну, я не знаю, о создании свитка Event
от объекта, но вы должны смотреть на Robot
класса. Это позволяет вам фактически прокручивать колесо мыши. Это может быть полезно.
В частности, посмотрите на метод mouseWheel(int)
.
1
Вы действительно хотите запустить MouseWheelEvent или хотите что-то сделать, когда прокручивается колесо мыши?
Если это бывший вы можете создать новый экземпляр с помощью конструктора:
new MouseWheelEvent(Component source, int id, long when, int modifiers, int x,
int y, int clickCount, boolean popupTrigger, int scrollType,
int scrollAmount, int wheelRotation)
и передать экземпляр метода processMouseWheelEvent компонента, чтобы стрелять.
Если это последний, вы можете либо реализовать MouseWheelListener, либо добавить его в свой компонент с помощью метода addMouseWheelListener() компонента.
Я хочу сгореть MouseWheelEvent :) – piotrek
я работать в некоторые странные проблемы с созданием событий мыши и с ними надлежащим образом. Если вы точно знаете компонент для передачи события, этот метод будет работать нормально. В противном случае я бы предложил использовать «Робот», как указано выше. (И если вы действительно просто передаете 'MouseWheelEvent' одному из ваших компонентов, это звучит так, как будто бы немного рефакторинга может быть в порядке. Извлеките логику колесика мыши из этого метода, чтобы вместо этого вы могли называть' handleMouseWheel (int ticks) 'из других источников, не создавая« Событие », просто чтобы передать информацию. – Mike