如何在netbeans中将JPanel类添加到JFrame表单类中?

时间:2012-06-27 08:30:46

标签: java swing jframe jpanel

我在netbeans中创建了两个类;其中一个是JPanel表单,另一个是JFrame表单; 如何将JPanel类添加到JFrame表单类中? 我在JFrame表单类的构造函数中编写了这段代码,但它没有用。

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

    }

3 个答案:

答案 0 :(得分: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);
}

答案 1 :(得分:1)

  

如何在netbeans中将JPanel类添加到JFrame表单类中?

JFrame课程中,只需设置JPanel并将其添加到Container

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

注意:您应该有一些名为createAndAddCompontents()的私有void方法,并在构造函数中调用它。

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

然后当你想在main()方法中执行你的应用程序时,你应该像这样调用它:

SwingUtilities.invokeLater(new Runnable() {
   @Override
   public void run() {
      YouJFrameClass initAndShowComponents = new YouJFrameClass();
      initAndShowComponents.setVisible(true);
}
    }); 

答案 2 :(得分:-1)

设置JPanel的边界,以便容器知道在哪里绘制它

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

            panel.setBounds(0, 0, 200, 200);
            frame.add(panel);
            frame.setVisible(true);
        }