Decoupling AWT menu threads
Posted on 2003-03-19
OK here is the situation, I have an applet with a load of awt popupMenus. When a popupMenu is being displayed all painting stops. If I am using the Sun JVM (v1.4) opening a subsequent popupMenu leaves the first one on screen (it just isn't painted over).
Clearly while the popup menu is open the AWT thread is being halted, so I try decoupling to a new thread to open the popup menus. This works fine until I try it on Mac OS X, where that little spinning colour wheel appears (the hourglass equivalent) for about 15 seconds after opening the menu. Until it turns back into a pointer you can't use any of the UI.
So the question is how can I decouple showing the menus to a new thread without making things unusable on the Mac?