Due to the current gap in continued funding from the U.S. National Science Foundation (NSF), the NSF Unidata Program Center has temporarily paused most operations. See NSF Unidata Pause in Most Operations for details.
Hi Rick, > kewl thanx for that...It all worked except for one prob... The popup > menu needs the location of the mouse click so that it can show the > menu in the right spot... How would I get the mouse position. > > Also I need to recognise double click events...How would i do > that??? This is possible but will take some work. The problem is that you are using a high-level class (FancySSCell) but want to have detailed control over the behavior of low level classes (MouseHelper, and MouseBehaviorJ2D or MouseBehaviorJ3D or both, depending on whether you are using Java2D, Java3D or both). Here's what you need to do: 1. Define an extension of visad.MouseHelper that overrides the processEvent() method to do what you want with mouse clicks, then invokes super.processEvent() so MouseHelper can do its work. 2. Define extensions of visad.java3d.MouseBehaviorJ3D and/or visad.java2d.MouseBehaviorJ2D whose constructors construct your extension of MouseHelper rather than MouseHelper. 3. Define extensions of visad.java2d.DefaultDisplayRendererJ2D, visad.java3d.DefaultDisplayRendererJ3D and visad.java3d.TwoDDisplayRendererJ3D to override the createSceneGraph() method to construct your extensions of MouseBehaviorJ2D and MouseBehaviorJ3D, rather than MouseBehaviorJ2D and MouseBehaviorJ3D. 4. Define an extension of visad.ss.FancySSCell to override the setDimension() and setDimClone() methods of BasicSSCell to replace 'new DisplayImplJ3D' and 'new DisplayImplJ2D' constructor calls with calls that supply your extensions of DefaultDisplayRendererJ2D, DefaultDisplayRendererJ3D and TwoDDisplayRendererJ3D. 5. In your application, use your extension of FancySSCell. It would be nice if you could just add a mouse listener to BasicSSCell.getDisplay().getComponent(), but Java3D grabs all the events and the only way to get them back is to insert a Behavior into the scene graph. That might work for Java2D spread sheet cells, though. Good luck, and cheers, Bill ---------------------------------------------------------- Bill Hibbard, SSEC, 1225 W. Dayton St., Madison, WI 53706 hibbard@xxxxxxxxxxxxxxxxx 608-263-4427 fax: 608-263-6738 http://www.ssec.wisc.edu/~billh/vis.html
visad
archives: