According to the java.awt.AWTEvent source code and documentation, the maximum value for reserved AWT event IDs is RESERVED_ID_MAX that is equals to 1999. But sun.awt.UngrabEvent has an ID of 65535. It prevents relying on the RESERVED_ID_MAX to perform events filtering. Documentation should be changed to make aware of this exception or UngrabEvent ID should be changed to a value below RESERVED_ID_MAX. The testcase attached shows that a none user-defined AWT event with an ID over RESERVED_ID_MAX is called. To reproduce, compile and execute the attached source code % java MyCancas Open the JCombobox and keep it opened Then click outside the main JFrame and you will see that UngrabEvent is called.
|