JFrame中有两个JPanel

时间:2012-02-28 22:39:55

标签: java swing netbeans-7

(编辑)的 好吧,我很可能会问错了。

我在发布之前检查了布局管理器,边框布局似乎与我希望实现的最接近。但是,它仅限于五个方面。

下面是我试图分成各种类的界面图片 interface image http://img821.imageshack.us/img821/2355/mockuphp.png

它包含各种JPanels,老实说,我从以前提出的所有问题以及阅读布局教程中都不确定,因为它看起来太复杂了。

所以我想我应该问的一个问题是 - 是否可以通过使用布局管理器使所有那些适合JFrame的JPanel看起来完全一样?如果没有,还有另一种方法可以达到这个目的吗?

我的目标是防止拥有一长串代码。

(原始问题) 我很清楚这里有很多重复的问题,我已经阅读了很多这些问题但仍无法弄清楚我的立场。

我是java的新手,真的需要帮助解决这个问题。

以下是我要添加到JFrame的两个面板。 (让它们变得如此简单,以便我可以在它工作后进行测试)。

第一个JPanel

package main;
/**
*
* @author Dell
*/
public class NewJPanel extends javax.swing.JPanel {

/**
 * Creates new form NewJPanel
 */
public NewJPanel() {
    initComponents();
}

/**
 * This method is called from within the constructor to initialize the form.
 * WARNING: Do NOT modify this code. The content of this method is always
 * regenerated by the Form Editor.
 */
@SuppressWarnings("unchecked")
// <editor-fold defaultstate="collapsed" desc="Generated Code">
private void initComponents() {

    jPanel1 = new javax.swing.JPanel();
    jButton1 = new javax.swing.JButton();
}

第二个面板完全相同,只是它被称为NewJPanel1

我怎么能把这两个并排放在一个JFrame中呢?

2 个答案:

答案 0 :(得分:1)

Swing使用布局管理器来布置容器中包含的组件。您可以使用BorderLayout并将两个面板放在LINE_START和LINE_END,LINE_START和CENTER,或CENTER和LINE_END,具体取决于您的需要。

阅读Swing tutorial,它有很多有用的信息,并且有full chapter专门用于布局管理员。

答案 1 :(得分:0)

您已使用NetBeans标记了该问题,因此我建议您只使用GUI Editor。您基本上可以将面板拖放到JFrame上,NetBeans将处理布局(它使用内存中的GridBayLayout)。