0

これはシンプルであるべきだと自分に言い聞かせていますが、完全に迷っています。まず、私は NetBeans IDE を初めて使用し、必要に迫られて使用しています。私はまだそれについてあまり知りません。

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

このコンポーネントを自分のアプリケーションにドラッグ アンド ドロップできるようにしたいのですが、直感的には可能に思えます。私は Mac OS X を使用しています。私の About NetBeans からの出力は、詳細を示しています。

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

助けてくれてありがとう - 本当に感謝しています。

4

2 に答える 2

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

}
于 2009-11-26T16:41:50.893 に答える
0

完全な初心者ガイド:

  1. JFrame に java.awt.Container を追加します。(Beans\java.awt.Container を選択します)。そのコンテナの名前を canvasContainer とします。
  2. クラスにパブリック変数を追加します。(クラス名はMyJFrameだと思います)

    public Canvas3D canvas3D;

  3. フレームクラスの構成は次のとおりです。

    public MyJFrame() {
    initComponents();
    }

    次のように編集します。

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

  4. サイズが変更されたときにコンテナーにリスナーを追加し
    ます

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

于 2015-09-07T07:37:28.090 に答える