Question

Je me dis que cela devrait être simple, et pourtant je suis complètement perdu. Permettez-moi de commencer par dire que je suis nouveau NetBeans IDE, et que je l'utilise par nécessité. Je ne sais pas vraiment beaucoup à ce sujet encore.

Je l'ai conçu avec succès ma fenêtre principale pour mon application. Le côté droit de l'application est essentiellement une grande fenêtre dans un espace tridimensionnel qui permet de visualiser certaines transformations sur des ensembles de données. Je l'ai cherché dans la palette et le gestionnaire de la palette et même essayé d'ajouter le composant Canvas3D à la palette manuellement à partir d'un JAR, mais je ne peux toujours pas l'obtenir.

Je voudrais vraiment pouvoir faire glisser et déposer ce composant dans ma demande, et de façon intuitive, il semble possible. Je suis sous Mac OS X; la sortie de mes propos NetBeans dit plus.

Version du produit: NetBeans IDE 6.7 (Build 200906241340)
Java: 1.5.0_19; Java HotSpot (TM) Client VM 1.5.0_19-137
Système: Mac OS X version 10.5.7 en cours d'exécution sur i386; MacRoman; en_US (nb)
Userdir: /Users/dremelofdeath/.netbeans/6.7

Merci d'avance pour me aider -. Je l'apprécie vraiment

Était-ce utile?

La solution

Le Canvas3D est un élément lourd qui signifie qu'il utilise un composant homologue natif de brancher en DirectX ou OpenGL donc probablement ce genre de composant n'est pas disponible pour glisser-déposer. Bien que vous pouvez essayer l'extension d'un JPanel.

Vous pouvez configurer manuellement la mise en page assez facilement en utilisant un BoderLayout.

MyFrame extends JFrame {

etc...

 Container container = getContentPane();
 container.setName("main.container");
 container.setLayout(new BorderLayout());

 container.add(new MyCanvasPanel(), BorderLayout.CENTER);

}  

// this could probably be added to the palete
public class MyCanvasPanel extends JPanel {

    SimpleUniverse su;
    Canvas3D canvas3D;

  public MyCanvasPanel() {
        canvas3D = new Canvas3D(SimpleUniverse.getPreferredConfiguration());
        add("Center", canvas3D);
        su = new SimpleUniverse(canvas3D);
  }

}

Autres conseils

Guide complet débutant:

  1. Ajouter un java.awt.Container à la JFrame. (Choisissez haricots \ java.awt.Container). Que le nom de ce conteneur soit canvasContainer.
  2. Ajouter une variable publique à la classe. (Je suppose que le nom de classe est MyJFrame)

      

    publique Canvas3D Canvas3D;

  3. La construction de la classe de trame est la suivante:

      

    MyJFrame publique () {
       initComponents ();
       }

    Modifier comme suit:

      

    MyJFrame publique () {
      initComponents ();
      Canvas3D = new Canvas3D (SimpleUniverse.getPreferredConfiguration ());
      canvasContainer.add (Canvas3D, "Centre");
      canvas3D.setSize (canvasContainer.getWidth (), canvasContainer.getHeight ());
      }

  4. Ajouter un écouteur au conteneur lorsqu'il est redimensionnée: (Souvent, lorsque la fenêtre est redimensionnée)
    Choisissez le conteneur \ Propriétés \ Events \ componentResized \ canvasContainerComponentResized
    Tapez le code suivant:

      

    if (Canvas3D! = Null)
      canvas3D.setSize (canvasContainer.getWidth (), canvasContainer.getHeight ());

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top