I have written an application having a frame that will be maximized and restored repeatedly from another thread. This frame contains a textarea. I am running this application on Solaris9 (CDE) using XToolkit. When the robot maximizes and restores the frame repeatedly, the following exception is thrown:
Exception in thread "AWT-EventQueue-0" java.lang.ClassCastException:
sun.awt.X11.XTextAreaPeer cannot be cast to java.awt.peer.ContainerPeer
at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:464)
at javax.swing.SystemEventQueueUtilities$ComponentWorkRequest.run(SystemEventQueueUtilities.java:114)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:589)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:234)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
This is reproducible only on XToolkit since 1.5. Not reproducible on win32, Motif.
Execute the application on XToolkit. Just watch it. Do not move the mouse or do any operation. The robot will go and click on the maximize button repeatedly. After few seconds, you will notice the above exception on the console.