Hi, I'm sure this is an easy question but I'm a bit Stuck on it.<div><br></div><div><br></div><div>When I use the example class SimpleVTK in other class I get an ugly FATAL error, I think that i's something about Swing and vtkPanel...</div>
<div><br></div><div>Any ideas? , thanks in advance</div><div><div>---------------------------------------------------------------------- </div><div>public class OtherClass {</div><div><br></div><div> public static void main(String s[]) {</div>
<div> JFrame frame = new JFrame("SimpleVTK");</div><div> frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);</div><div> frame.getContentPane().setLayout(new BorderLayout());</div>
<div> frame.getContentPane().add(new SimpleVTK(), BorderLayout.CENTER);</div><div> frame.setSize(400, 400);</div><div> frame.setLocationRelativeTo(null);</div><div> frame.setVisible(true);</div>
<div> }</div></div><div>}</div><div><br></div><div><div>#</div><div># A fatal error has been detected by the Java Runtime Environment:</div><div>#</div><div># SIGSEGV (0xb) at pc=0x00007faa139d2516, pid=12761, tid=140367185549056</div>
<div>#</div><div># JRE version: 6.0_26-b03</div><div># Java VM: Java HotSpot(TM) 64-Bit Server VM (20.1-b02 mixed mode linux-amd64 compressed oops)</div><div># Problematic frame:</div><div># C [libjava.so+0x17516] JNU_GetEnv+0x6</div>
<div>#</div><div># An error report file with more information is saved as:</div><div># /home/jruiz/NetBeansProjects/Dicom Studio/hs_err_pid12761.log</div><div>#</div><div># If you would like to submit a bug report, please visit:</div>
<div># <a href="http://java.sun.com/webapps/bugreport/crash.jsp">http://java.sun.com/webapps/bugreport/crash.jsp</a></div><div>#</div></div><div>---------------------------------------------------------------------------</div>
<div><br></div><div><div>/**</div><div> * An application that displays a 3D cone. A button allows you to close the</div><div> * application.</div><div> */</div><div>public class SimpleVTK extends JPanel implements ActionListener {</div>
<div> private static final long serialVersionUID = 1L;</div><div> private vtkPanel renWin;</div><div> private JButton exitButton;</div><div> </div><div> // -----------------------------------------------------------------</div>
<div> // Load VTK library and print which library was not properly loaded</div><div> static {</div><div> if (!vtkNativeLibrary.LoadAllNativeLibraries()) {</div><div> for (vtkNativeLibrary lib : vtkNativeLibrary.values()) {</div>
<div> if (!lib.IsLoaded()) {</div><div> System.out.println(lib.GetLibraryName() + " not loaded");</div><div> }</div><div> }</div><div> }</div><div>
vtkNativeLibrary.DisableOutputWindow(null);</div><div> }</div><div> </div><div> // -----------------------------------------------------------------</div><div> public SimpleVTK() {</div><div> super(new BorderLayout());</div>
<div> </div><div> // build VTK Pipeline</div><div> vtkConeSource cone = new vtkConeSource();</div><div> cone.SetResolution(8);</div><div> </div><div> vtkPolyDataMapper coneMapper = new vtkPolyDataMapper();</div>
<div> coneMapper.SetInputConnection(cone.GetOutputPort());</div><div> </div><div> vtkActor coneActor = new vtkActor();</div><div> coneActor.SetMapper(coneMapper);</div><div> </div><div> renWin = new vtkPanel();</div>
<div> renWin.GetRenderer().AddActor(coneActor);</div><div> </div><div> // Add Java UI components</div><div> exitButton = new JButton("Exit");</div><div> exitButton.addActionListener(this);</div>
<div> </div><div> add(renWin, BorderLayout.CENTER);</div><div> add(exitButton, BorderLayout.SOUTH);</div><div> }</div><div> </div><div> /** An ActionListener that listens to the button. */</div><div> public void actionPerformed(ActionEvent e) {</div>
<div> if (e.getSource().equals(exitButton)) {</div><div> System.exit(0);</div><div> }</div><div> }</div><div> </div><div> public static void main(String s[]) {</div><div> SwingUtilities.invokeLater(new Runnable() {</div>
<div> @Override</div><div> public void run() {</div><div> JFrame frame = new JFrame("SimpleVTK");</div><div> frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);</div>
<div> frame.getContentPane().setLayout(new BorderLayout());</div><div> frame.getContentPane().add(new SimpleVTK(), BorderLayout.CENTER);</div><div> frame.setSize(400, 400);</div>
<div> frame.setLocationRelativeTo(null);</div><div> frame.setVisible(true);</div><div> }</div><div> });</div><div> }</div><div>}</div></div>