Trying to replace model in a scene with a new one, loaded using JFileChooser dialog box and here is what I get:
D:/Java Programming/Java3D/Code/Project/Java3DModelViewer1_0/VirtualWo
rld/Loaders/models/clipper.3ds
Exception in thread “AWT-EventQueue-0” javax.media.j3d.RestrictedAcces
sException: Group: only a BranchGroup node may be added
at javax.media.j3d.Group.addChild(Group.java:260)
at VirtualWorld.VirtualWorld.createSceneGraph(VirtualWorld.jav
a:157)
at VirtualWorld.Loaders.LoadFileAction.actionPerformed(LoadFil
eAction.java:135)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Sour
ce)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown
Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown
Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Un
known Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown S
ource)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown So
urce)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source
)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForHierarchy(Unkno
wn Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown
Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)
Here is the code that causes it:
// Open Dialog
if ( evt.getSource() == open )
{
int returnVal = openDialogBox.showOpenDialog(
LoadFileAction.this);
// File was Chosen, send it to NewModelLoader
if ( returnVal == JFileChooser.APPROVE_OPTION )
{
File file = openDialogBox.getSelectedFile();
fileName = openDialogBox.getSelectedFile().toString();
System.out.println( fileName.replace( '\\', '/' ) );
// Handle Log, and NewModelLoader
log.append("Opening: " + file.getName() + "." + newLine);
log.append("Opening: " + file.getPath() + "." + newLine);
// Load New Model
vW.scene.detach();
vW.fileName = fileName.replace( '\\', '/' );
vW.scene = vW.createSceneGraph();
vW.simpleU.addBranchGraph( vW.scene );
System.out.println( fileName.replace( '\\', '/' ) + " loaded." );
}
else
{
log.append("Open command cancelled." + newLine);
}
log.setCaretPosition(log.getDocument().getLength());
}
Please help
Thanks
Dust