Pergunta

Eu continuo dizendo que isso deve ser simples, e ainda assim eu estou completamente perdido. Deixe-me começar por dizer que eu sou novo no NetBeans IDE, e que eu estou usando-o em caso de necessidade. Eu realmente não sei muito sobre ele ainda.

Eu projetei com sucesso a minha janela principal para a minha candidatura. O lado direito do aplicativo é essencialmente uma grande janela em um espaço tridimensional que visualiza certos transformadas em conjuntos de dados. Tenho pesquisado através da paleta eo gerente paleta e até tentou adicionar o componente Canvas3D à paleta manualmente de um JAR, mas eu ainda não pode obtê-lo.

Eu realmente gostaria de ser capaz de arrastar e soltar este componente em minha aplicação, e intuitivamente, parece possível. Eu estou no Mac OS X; a saída dos meus NetBeans Sobre diz mais.

Produto Versão: NetBeans IDE 6.7 (criação de 200.906.241.340)
Java: 1.5.0_19; Java HotSpot (TM) Cliente VM 1.5.0_19-137
Sistema: Mac OS X versão 10.5.7 rodando em i386; MacRoman; en_US (nb)
Userdir: /Users/dremelofdeath/.netbeans/6.7

Obrigado antecipadamente por me ajudar - eu realmente aprecio isso

.
Foi útil?

Solução

O Canvas3D é um componente pesado que significa que usa um componente de pares nativa para ligar para DirectX ou OpenGL então provavelmente este tipo de componente não está disponível para arrastar e soltar. Embora você poderia tentar estender um JPanel.

Você pode configurar o layout manualmente com bastante facilidade usando um 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);
  }

}

Outras dicas

guia completo iniciante:

  1. Adicionar um java.awt.Container ao JFrame. (Escolha Beans \ java.awt.Container). Deixe o nome desse recipiente ser canvasContainer.
  2. Adicionar uma variável pública para a classe. (Suponho que o nome da classe é MyJFrame)

    pública Canvas3D Canvas3D;

  3. A construção da classe quadro é como se segue:

    MyJFrame pública () {
    initComponents ();
    }

    Editar da seguinte forma:

    MyJFrame pública () {
    initComponents ();
    Canvas3D = new Canvas3D (SimpleUniverse.getPreferredConfiguration ());
    canvasContainer.add (Canvas3D, "Centro");
    canvas3D.setSize (canvasContainer.getWidth (), canvasContainer.getHeight ());
    }

  4. Adicionar um ouvinte ao recipiente quando é redimensionada: (Muitas vezes, quando a janela é redimensionada)
    Escolha o recipiente \ Propriedades \ Eventos \ componentResized \ canvasContainerComponentResized
    Digite o seguinte código:

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

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top