2009-07-07 4 views
0

これは単純であるべきだと私は続けていますが、私は完全に失われています。私はNetBeans IDEの初心者であり、私はそれを必要に応じて使用していると言い始めることにしましょう。私はそれについてまだよく分かっていません。J3DのCanvas3DコンテナでNetBeans IDE 6.7を使用する

私のアプリケーションのメインウィンドウが正常に設計されました。アプリケーションの右側は、本質的に、データセットの特定の変換を視覚化する3次元空間への大きなウィンドウです。私はパレットとパレットマネージャを検索し、JARから手動でCanvas3Dコンポーネントをパレットに追加しようとしましたが、それでもそれを得ることはできません。

私は本当にこのコンポーネントをアプリケーションにドラッグアンドドロップすることができ、直観的には可能と思われます。私はMac OS X上にいる。私のAbout NetBeansからの出力はもっと詳しく説明しています。

製品バージョン:NetBeans IDE 6.7(ビルド200906241340)
Java:1.5.0 _ 19; Java HotSpot(TM)クライアントVM 1.5.0 _ 19-137
システム:i386で動作するMac OS Xバージョン10.5.7。 MacRoman; en_US(nb)
Userdir:/Users/dremelofdeath/.netbeans/6.7

私は本当に感謝しています。

答えて

1

Canvas3Dは、DirectXまたはOpenGLにフックするためにネイティブピアコンポーネントを使用することを意味する重量コンポーネントです。この種のコンポーネントは、ドラッグアンドドロップには使用できない可能性があります。 JPanelを拡張しようとすることもできますが。

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); 
    } 

} 
+0

アドバイスありがとうございます。完全な解決策ではありませんが、正しい方向に私を指摘しました。 :) –

0

完全な初心者ガイド:

  1. たJFrameにjava.awt.Containerのを追加します。 (Beans \ java.awt.Containerを選択します)。 そのコンテナの名前をcanvasContainerにします。
  2. クラスにパブリック変数を追加します。 (私はクラス名がMyJFrameであると仮定します)

    public Canvas3D canvas3D;次のように

  3. フレームクラスの構造は次のとおり

    パブリックMyJFrame(){
    initComponents()。
    }

    編集し、それを次のように

    パブリックMyJFrame(){
    initComponentsを();
    canvas3D =新しいCanvas3D(SimpleUniverse.getPreferredConfiguration());
    canvasContainer.add(canvas3D、 "Center");
    canvas3D.setSize(canvasContainer.getWidth()、canvasContainer)。getHeight());それはサイズが変更されたとき
    }

  4. コンテナにリスナーを追加します(ウィンドウのサイズが変更されることが多いとき)
    は、コンテナを選択してください\プロパティは、\イベント\ componentResized \ canvasContainerComponentResized
    次のコードを入力します:

    場合(canvas3D = nullを!)
    canvas3D.setSize(canvasContainer.getWidth()、canvasContainer.getHeight());

関連する問題