Bonjour, dans une application je dois ajouter et supprimer des shape3D dynamiquement, selon des actions de l'utilisateur.
J'ai donc une méthode "show" qui doit afficher mon shape3D quand elle est appelée suite à une action de l'utilisateur.
Voici son code:
Ca fonctionne bien mais ça m'ennuie de devoir créer un branchgroup pour chaque Shape3D.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 GraphicTile tile = new GraphicTile(name); // GraphicTile est une classe qui hérite de Shape3D Transform3D translate = new Transform3D(); translate.set(Squares.getSquare(place)); TransformGroup tg = new TransformGroup(translate); tg.addChild(tile); BranchGroup bg = new BranchGroup(); bg.addChild(tg); bg.setCapability(BranchGroup.ALLOW_DETACH); sceneBG.addChild(bg); // sceneBG est le branchgroup principal
Je trouve ça lourd et bizarre au niveau conception mais si j'essaie de faire directement sceneBG.addChild(tg), ou même sceneBG.addChild(tile),
j'ai ce message d'erreur:
Exception in thread "main" javax.media.j3d.RestrictedAccessException: Group: only a BranchGroup node may be added
Est-ce qu'il y a une autre méthode qui m'éviterait de créer un branchgroup par shape3D?
Merci.
Partager