Hi Scott,
> The exception shown below is thrown when I open a JFrame with a
> visad display on my 1st monitor, then drag it to my 2nd monitor and click a
> button to open a JDialog with another visad display in it.
> I've attached a small sample program that demonstrates this, so to try and
> repeat the bug:
> Run the program
> Drag the JFrame to your second monitor (you'll obviously need a dual head
> display)
> Click the Open JDialog button
> And you should get an exception!!!
>
> An exception was thrown on 2 windows machines with Matrox DualHead graphics
> cards
> and also a Linux machine with a dual head nvidia graphics card.
>
> Not sure if this is VisAD or Java3D, hoping someone could shed some light on
> the cause...
> . . .
> java.lang.IllegalArgumentException: adding a container to a container on
> a different GraphicsDevice
It is hard to imagine how this is a VisAD bug.
It could be that the Java3D GraphicsConfiguration
must be different on different heads (although
that would seem to outlaw dragging Canvas3D's
between different heads). You might experiment
with the DisplayImplJ3D constructors that take
non-default GraphicsConfigurations.
I don't have any dual head displays, so someone
with one (you?) will have to work on this. Let us
know what you find.
I also suggest joining and sending this question
to java3d-interest@xxxxxxxxxxxx.
Good luck, Bill