A couple notes on VisAD, Java3D, and OSX

Hello All,

For starters, I use a PowerBook running OSX 10.3.9, Java 1.4.2_07 and Java3D 1.3.1 with Eclipse 3.0.1

The following seem to either not work, or cause problems:

- GraphicsModeControlJ3D.setSceneAntialiasingEnable(true)
Works great on XP pro but has no effect on OSX (No exceptions)

- ToolTipManager.setLightWeightPopupEnabled(false)
Works only after making the popup visible, and then works inconsistently (No Exceptions). Some times the tooltips appear above the 3d canvas and sometimes below. And they always seem to render very slowly causing one tooltip to be carried over to another similar component. In other words, the tooltip for component A when rendered also becomes the tooltip that appears for component B. I should note however that I am using an implementation of a multiline tooltip that replaces the default single line one.

- JPopupMenu.setLightWeightPopupEnabled(false)
For some reason on OSX it works, but on XP Pro it will only show popups on 4 of 5 plots in the visible app window (No Exceptions). The problem canvas gives cursor coords allowing box zooming to function but does not show the popup.

- Here's an oldie but a goodie....
Every once in a while I get one of 3 Exceptions listed below. I have tried to reproduce the errors with some consistency but cannot find the code that is specifically causing the exception.

#1
<x-tad-bigger>java.lang.IllegalMonitorStateException: current thread not owner</x-tad-bigger><x-tad-bigger>
</x-tad-bigger><x-tad-bigger> at javax.media.j3d.DrawingSurfaceObjectAWT.unlockAWT(Native Method)</x-tad-bigger><x-tad-bigger>
</x-tad-bigger><x-tad-bigger> at javax.media.j3d.DrawingSurfaceObjectAWT.unLock(DrawingSurfaceObjectAWT.java:82)</x-tad-bigger><x-tad-bigger>
</x-tad-bigger><x-tad-bigger> at javax.media.j3d.Renderer.doWork(Renderer.java:771)</x-tad-bigger><x-tad-bigger>
</x-tad-bigger><x-tad-bigger> at javax.media.j3d.J3dThread.run(J3dThread.java:250)

</x-tad-bigger>
<x-tad-bigger>#2
</x-tad-bigger>
<x-tad-bigger>2005-04-24 20:04:00.682 java[3026] _initWithWindowNumber: error creating graphics ctxt object for ctxt:69359, window:1093664768

</x-tad-bigger>
<x-tad-bigger>#3
</x-tad-bigger>
<x-tad-bigger>apple.awt.EventQueueExceptionHandler Caught Throwable : java.lang.IllegalMonitorStateException: current thread not owner</x-tad-bigger><x-tad-bigger>
</x-tad-bigger><x-tad-bigger>java.lang.IllegalMonitorStateException: current thread not owner</x-tad-bigger><x-tad-bigger>
</x-tad-bigger><x-tad-bigger> at javax.media.j3d.DrawingSurfaceObjectAWT.getDrawingSurfaceWindowIdAWT(Native Method)</x-tad-bigger><x-tad-bigger>
</x-tad-bigger><x-tad-bigger> at javax.media.j3d.DrawingSurfaceObjectAWT.getDrawingSurfaceObjectInfo(DrawingSurfaceObjectAWT.java:106)</x-tad-bigger><x-tad-bigger>
</x-tad-bigger><x-tad-bigger> at javax.media.j3d.Canvas3D.paint(Canvas3D.java:1255)</x-tad-bigger><x-tad-bigger>
</x-tad-bigger><x-tad-bigger> at sun.awt.RepaintArea.paint(RepaintArea.java:194)</x-tad-bigger><x-tad-bigger>
</x-tad-bigger><x-tad-bigger> at apple.awt.ComponentModel.handleEvent(ComponentModel.java:281)</x-tad-bigger><x-tad-bigger>
</x-tad-bigger><x-tad-bigger> at java.awt.Component.dispatchEventImpl(Component.java:3744)</x-tad-bigger><x-tad-bigger>
</x-tad-bigger><x-tad-bigger> at java.awt.Component.dispatchEvent(Component.java:3543)</x-tad-bigger><x-tad-bigger>
</x-tad-bigger><x-tad-bigger> at java.awt.EventQueue.dispatchEvent(EventQueue.java:456)</x-tad-bigger><x-tad-bigger>
</x-tad-bigger><x-tad-bigger> at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:234)</x-tad-bigger><x-tad-bigger>
</x-tad-bigger><x-tad-bigger> at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:184)</x-tad-bigger><x-tad-bigger>
</x-tad-bigger><x-tad-bigger> at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:178)</x-tad-bigger><x-tad-bigger>
</x-tad-bigger><x-tad-bigger> at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:170)</x-tad-bigger><x-tad-bigger>
</x-tad-bigger><x-tad-bigger> at java.awt.EventDispatchThread.run(EventDispatchThread.java:100)</x-tad-bigger>


On more of a positive note I did get the box zooming working like a charm and since the target platform for my app is XP it's very nice to see the anit-aliasing working.

Thanks,
Bruce