This test case illustrates that mouse wheel events are not properly delivered to Java applets on Mac OS X. Configure Java so that the Java Console is enabled. Open this web page (and the associated applet) on a machine with a mouse that has a scroll wheel. Click the middle of the window the applet opens outside the web browser. Rotate the scroll wheel. Note from the Java Console output that scroll wheel events are delivered. Now click the blue area in the web page corresponding to the applet and rotate the mouse wheel. Note that no mouse wheel events are delivered. On both Windows and X11 (Linux, Solaris) platforms, mouse wheel events are delivered properly to the applet.

Note that this issue is not focus related. Again click the center of the applet's external window. Type a few keys. Note that the key press events are picked up and that the focus is on the canvas inside the external window. Now click the blue box in the browser page corresponding to the applet. Type a few keys. The applet clearly has the focus, but the web browser is still intercepting the mouse wheel events. If you shrink the web browser window until the vertical scrollbar shows up, and then click in the region of the web page outside the applet, note that the scroll wheel controls the vertical scrollbar of the browser. Now click in the applet so it has the focus. The scroll wheel still controls the web browser's scrollbar instead of sending the events to the applet. On Windows and X11 platforms, when an applet has the focus, it captures the scroll wheel events.

It could be argued that the current Mac OS X behavior is correct, but the fact is that there are applets for which the scroll wheel is the best mode of interaction, and it would be best to have consistent behavior across platforms.