00
00
Que veux-tu dire par "Mon JPanelCanvas3D n'apparaît pas" ?
Que vois-tu exactement là où devrait être ton Canvas3D? Est-ce que tu vois juste un fond noir ou rien du tout?
Au niveau java3D je ne vois rien de spécial.
As-tu essayé d'utiliser un JApplet à la place d'un Applet ?
Edit: sorry je viens de voir que c'est déjà le cas.
Je n'ai jamais utilisé java3D sur un applet et je n'ai jamais utilisé le groupLayout donc je ne peux pas t'aider.
Essaie peut-être dans un premier temps d'afficher juste un canvas3D sur l'applet avec un layout simple.
Puis si ça marche tu essaies d'ajouter le 2e JPanel.
ça fonctionne avec un layout tout simple et tout dans un même fichier.
Le problème, c'est que Netbeans n'aime vraiment pas !
Je n'ai pas ouvert le fichier dans netbeans donc je ne sais pas pq tu dis qu'il n'aime pas mais ça vient de faire tilt.
Tu ne donnes pas de taille à ton panel, qui a donc une hauteur et une largeur de 0 => tu ne le vois pas.
Quand tu le mets simplement au centre d'un BorderLayout, tu le vois car le centre d'un BorderLayout prend automatiquement toute la place disponible.
Si ça n'est pas ça on verra mais je le sens bien![]()
Voilà pour exemple un extrait d'une application à moi.
dans le constructeur de ma JFrame:
dans le constructeur de View (qui étend JPanel):
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 setPreferredSize(new Dimension(1024, 768)); view = new View(); add(view); pack(); setResizable(false); setVisible(true);
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 super(new BorderLayout()); GraphicsConfiguration conf = SimpleUniverse.getPreferredConfiguration(); Canvas3D canvas3D = new Canvas3D(conf); add(canvas3D); universe = new SimpleUniverse(canvas3D); universe.getViewingPlatform().setNominalViewingTransform(); createSceneGraph(); universe.addBranchGraph(sceneBG);
Oui en effet on ne peut pas modifier le code produit par Matisse, c'est voulu.
Mais bon, si ton interface n'est pas trop compliquée (et 2 panels sur un applet ça ne m'a pas l'air compliqué), tu iras aussi vite en la faisant à la main.
Un GridLayout devrait faire l'affaire, ou un GridBagLayout si tu as besoin de règlage un peu plus fins.
00
En effet c'est plus compliqué et le refaire à la main va prendre pas mal de temps.
C'est quand même bizarre que ça ne marche pas comme ça car si c'est fait avec matisse il a bien une taille donc mon hypothèse tombe à l'eau...
Ca vaut peut-être le coup de chercher encore un peu avant de tout recommencer.
Dans ce cas oui, c'est toujours mieux d'apprendre à le faire soi-même pour comprendre ce qu'il se passe derrière.
Bonne chance !
Partager