Good question. The visad/rabin/Rain.java program, distributed
with VisAD, does this. If you look in the code, you'll see
there is a 4 x 4 array of windows, and the program creates an
array ProjectionControl projection_controls for each of
the displays, the Rain class implements ControlListener,
projection_controls[i][j] = displays[i][j].getProjectionControl();
for each display. Then it implements the:
public void controlChanged(ControlEvent e)
method and if the Control, is a ProjectionControl, it
copies its matrix to all the other ProjectionControls.
Please ignore the code that has to do with collaboration,
unless you want that (it adds some complexity). Also note
that the controlChanged() method must deal with events
from ColorControls too, and you can ignore that.
I have taken the liberty of copying this answer to the
visad-list since it should be of general interest.
Bill Hibbard, SSEC, 1225 W. Dayton St., Madison, WI 53706
hibbard@xxxxxxxxxxxxxxxxx 608-263-4427 fax: 608-263-6738
On Tue, 4 Jul 2000, Ricardo Ivan Mantilla G wrote:
> Hello Bill.
> I am developing a software for satellite image classification. I attach
> to this mail a screenShot of the interface. As you can see there are
> four displays opened at the same time, the first one (up - left)
> displays the satellite image, the other 3 displays show the result of
> the classification processes. I want to make zoom (shift-left button)
> in the main display (up - left) and make the others ones to have the
> same new domain of visualization. I could not find the method to make
> this happen. I also want that when I move the image (left button) the
> others also move.
> My english is not good enougth to explain correctly what I want, that's
> why I decided to send you the screenShot to make sure that you can
> understand what I mean.