NOTICE: This version of the NSF Unidata web site (archive.unidata.ucar.edu) is no longer being updated.
Current content can be found at unidata.ucar.edu.
To learn about what's going on, see About the Archive Site.
Hi Mike,
Yes, I've gone through all the tutorials suggested above and invokedmost of the mothods in my application. I mainly use the visad built-in collaboration support so far. Based onRendererControl, all graphics widgets associated with Controls and ScalarMaps worked very well. I found that when a DataReference has been removed in Host, Clients didn't response. After investagation on VisAD, it seems that REFERENCE_REMOVED event was not sent to clients. So I made some changes to VisAD system to make this part work. Although I knew this may bring some trouble later on, but I have no better choice at this moment. To those self-developed graphics widgets (e.g. ComboBox, Button etc.) which neither belongs to Controls nor ScalarMap. I still have no ideahow to make them collaborative.
The VisAD SpreadSheet had some similar requirements. I implemented a fairly general way to send messages back and forth between server and client, to keep things synchronized that were not already handled by the built-in VisAD collaborative display logic.
Take a look at the VisAD SpreadSheet, in package visad.ss. In particular, check out visad/ss/BasicSSCell.java starting at line 283 (the part labeled "COLLABORATION"). The sendMessage and receiveMessage methods handle communication. It should be possible to adapt their functionality for your needs, including synchronization of custom widgets built with Swing components.
-Curtis
visad
archives: