-5

我在netbeans中创建了两个类;一个是JPanel形式,另一个是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);

注意:您应该有一些名为 example 的私有 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 回答