Hi,
ich möchte für eine Java3D-Anwendung ein Canvas3D-Objekt in eine Swing GUI integrieren.
Die Palette des GUI-Builders von Netbeans stellt ein solches aber nicht zur Verfügung;
zudem birgt die kombinierte Nutzung einer solchen Heavyweight-Komponente mit Java-Swing
Lightweight-Komponenten ohnehin einiges Ärger-Potential.
Im Netz habe ich einige Lösungsansätze gefunden, die im wesentlichen darin bestehen, eine Subklasse eines Containers mit "vorinstalliertem" Canvas3D zu schreiben. Ich habe es jetzt
mit dieser von mir noch etwas modifizierten Fassung versucht:
package GUI; import com.sun.j3d.utils.geometry.ColorCube; import com.sun.j3d.utils.universe.SimpleUniverse; import javax.media.j3d.BranchGroup; import javax.media.j3d.Canvas3D; import javax.swing.JPanel; public class MyCanvasPanel extends JPanel {     SimpleUniverse su;     Canvas3D canvas3D;   public MyCanvasPanel() {         canvas3D = new Canvas3D(SimpleUniverse.getPreferredConfiguration());         add("Center", canvas3D);         su = new SimpleUniverse(canvas3D);                //zum Testen des Canvas         setSize(720,720);         canvas3D.setSize(700,700);          BranchGroup contents = new BranchGroup();          contents.addChild(new ColorCube(0.3));      su.addBranchGraph(contents);      su.getViewingPlatform().setNominalViewingTransform(); } }Das so geschaffene Objekt lässt sich auch der Palette und aus dieser der GUI hinzufügen.
Bei weiteren Operationen am GUI Builder stürzt Netbeans aber ständig ab (wenn ich die im
Netz gefundenen Klassen unmodifiziert teste, ist dieser Effekt noch penetranter).-
Hat jemand eine Idee, wie ich Abhilfe schaffen könnte? Ich verwende Netbeans 7.2, JDK7u5 64 bit Version und Java3D 1.5.2 64 bit. Probeweise bin ich schon komplett zu 32bit Java gewechselt, ohne Erfolg.-danke