Avatar
Gustav
Neregistrovaný
Avatar
Gustav:

POtřebuji pomoci s následujícím kódem

package firstaplication;

import java.awt.BorderLayout;
import java.awt.Container;
import java.awt.Frame;
import java.awt.GraphicsConfiguration;
import javax.swing.JFrame;
import com.sun.j3d.utils.universe.*;
import com.sun.j3d.utils.geometry.*;
import javax.media.j3d.*;

public class FirstAplication extends JFrame{

    public FirstAplication(){
        setTitle("Barevná krychle");
        setSize(500, 500);
        Container pane = this.getContentPane();
        pane.setLayout(new BorderLayout());
        /**
         * Získání objektu GraphicsConfiguration
         * nevé instance třídy Canvas3D
         */
  GraphicsConfiguration config = SimpleUniverse.getPreferredConfiguration();
        Canvas3D canvas = new Canvas3D(config, false);

        pane.add(canvas, BorderLayout.CENTER);
        SimpleUniverse universe = new SimpleUniverse(canvas);

         BranchGroup rootKrychle = new BranchGroup();
        rootKrychle.addChild(new ColorCube(0.3));
        rootKrychle.compile();

        universe.getViewingPlatform().setNominalViewingTransform();
        universe.addBranchGraph(rootKrychle);

        TransformGroup tg = new TransformGroup();
        Transform3D tr1 = new Transform3D();
        tr1.rotX(Math.PI/6);
        Transform3D tr2 = new Transform3D();
        tr2.rotY(Math.PI/3);
        tr2.mul(tr1);
        tg.setTransform(tr2);
        rootKrychle.addChild(tg);

        tg.addChild(new ColorCube(0.3));
    }
    public static Frame nastav(){
        FirstAplication fp = new FirstAplication();
        fp.setLocationRelativeTo(null);
        fp.setVisible(true);
        return fp;
    }

    public static void main(String args[]){
        nastav();
    }
}

píše mi to chybu:
Exception in thread "main" javax.media.j3d­.RestrictedAc­cessException: Group: only a BranchGroup node may be added
at javax.media.j3d­.Group.addChil­d(Group.java:265)
at firstaplicati­on.FirstAplica­tion.<init>(Fir­stAplication.ja­va:50)
at firstaplicati­on.FirstAplica­tion.nastav(Fir­stAplication.ja­va:55)
at firstaplicati­on.FirstAplica­tion.main(Fir­stAplication.ja­va:62)

 
Odpovědět 14.9.2013 20:41
Avatar
goddard
Člen
Avatar
goddard:

Kdysi jsem prekladal oficialni Java 3D tutorial, tady je prvni kapitola:
http://www.dredwerkz.cz/…/J3DT_1.html

a tady je to ceho chces zrejme dosahnout (nejspis ti chybi i TransformGrou­p.ALLOW_TRANSFOR­M_WRITE):
http://www.dredwerkz.cz/…Java3Dd.java

Jinak se zkus podivat na JavaFX, v nejnovejsi verzi (stahni si JDK 8) je i 3D ktere je uz v JRE takze to neni samostatna 3D knihovna coz ma nesporne vyhody oproti Java 3D (vcetne toho ze uz pouziva v zakladu shadery)

 
Nahoru Odpovědět 15.9.2013 19:24
Avatar
Milan Gallas
Redaktor
Avatar
Odpovídá na Gustav
Milan Gallas:

.

Editováno 25.9.2013 12:45
 
Nahoru Odpovědět 25.9.2013 12:44
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 4 zpráv z 4.