пожалуйста помоги! как эмулировать jre java.awt.MouseEvent в gwt? - PullRequest
0 голосов
/ 27 сентября 2010

Я хочу эмулировать класс java.awt.MouseEvent, и я определяю, MouseEvent расширяет InputEvent, который расширяет java.util.EventObject.

, но когда я запускаю это в режиме хоста, я получаю эту ошибку, она показываетМой InputEvent расширяет ComponentEvent.Зачем?и как я могу это исправить?спасибо!

java.lang.IllegalArgumentException: null source
    at java.util.EventObject.<init>(EventObject.java:38)
    at java.awt.AWTEvent.<init>(AWTEvent.java:279)
    at java.awt.event.ComponentEvent.<init>(ComponentEvent.java:96)
    at java.awt.event.InputEvent.<init>(InputEvent.java:204)
    at java.awt.event.MouseEvent.<init>(MouseEvent.java:548)
    at java.awt.event.MouseEvent.<init>(MouseEvent.java:450)

эта ситуация просто произошла в режиме хоста, когда я скомпилировал и развернул ее, все работает нормально.

Ответы [ 2 ]

0 голосов
/ 27 сентября 2010

Ни одна из библиотек AWT не является частью эмулируемых библиотек GRE JRE . Если вы хотите прослушать MouseEvent, вы должны добавить Mouse*Handler к виджету, расширяющему FocusWidget. Например, addMouseDownHandler для FocusWidget и его подклассов. Вы получите MouseEvent при наведении мыши на этот виджет.

0 голосов
/ 27 сентября 2010

Вы используете неправильное событие - оно должно быть MouseEvent (из пакета com.google.gwt.event.dom.client), расширение DomEvent<H>. См. HasAllMouseHandlers для виджетов, реализующих все обработчики мыши (или проверьте отдельные интерфейсы для конкретных случаев использования).

...