-5

netbeans で 2 つのクラスを作成しました。そのうちの 1 つは JPanel フォームで、もう 1 つは JFrame フォームです。JPanel クラスを JFrame フォーム クラスに追加するにはどうすればよいですか? JFrame フォーム クラスのコンストラクタでこのコードを書きましたが、機能しませんでした。

public JFrameClass() {
        initComponents();
        this.getContentPane().add(jpc = new JPanelClass());
        jpc.setVisible(true);
        this.pack();
        this.setVisible(true);

    }
4

3 に答える 3

3

JPanelClassがどこからでも見えるようにする必要がありますJFrameClass。次に、次の操作を行います。

JPanelClass jpc = new JPanelClass()
this.getContentPane().add(jpc);

また、電話する必要はありませんjpc.setVisible(true);

結果のコードは次のようになります。

public JFrameClass() {
        initComponents();
        JPanelClass jpc = new JPanelClass()
        getContentPane().add(jpc);
        pack();
        setVisible(true);
}
于 2012-06-27T08:43:00.500 に答える
1

JPanel クラスを netbeans の JFrame フォーム クラスに追加するにはどうすればよいですか?

あなたのJFrameクラスでは、あなたを設定し、JPanelそれをに追加するだけContainerです。

JPanel panel = new JPanelClass();
controls.add(panel);

注: たとえば、名前付きのプライベート void メソッドをいくつか用意createAndAddCompontents()し、コンストラクターで呼び出す必要があります。

public JFrameClass() {
   ...
   createAndAddCompontents();
}

次に、アプリケーションを実行したい場合は、 main() メソッドで次のように呼び出す必要があります。

SwingUtilities.invokeLater(new Runnable() {
   @Override
   public void run() {
      YouJFrameClass initAndShowComponents = new YouJFrameClass();
      initAndShowComponents.setVisible(true);
}
    }); 
于 2012-06-27T08:37:27.130 に答える
0

JPanel の境界を設定して、コンテナーが描画する場所を認識できるようにします。

       public void run() {
            NewJFrame frame = new NewJFrame();
            NewJPanel panel = new NewJPanel();

            panel.setBounds(0, 0, 200, 200);
            frame.add(panel);
            frame.setVisible(true);
        }
于 2012-06-27T08:45:45.030 に答える