我有一个主框架和3个面板。我想将这3个面板添加到主框架中。但是,其中只有2个被添加。第三个不是。我无法弄清楚原因。有人可以帮忙吗?
setLayout(new GridBagLayout());
GridBagConstraints gbc=new GridBagConstraints();
gbc.gridwidth=GridBagConstraints.REMAINDER;
gbc.gridheight=GridBagConstraints.RELATIVE;
gbc.anchor=GridBagConstraints.NORTHWEST;
gbc.fill=GridBagConstraints.BOTH;
gbc.weightx=gbc.weighty=1;
add(topPanel1, gbc);
add(bottomPanel1, gbc);
gbc.gridheight=GridBagConstraints.REMAINDER;
add(buttonsPanel, gbc);
上面的代码是框架的构造函数。
答案 0 :(得分:1)
您应根据所需的布局设置gridx
或gridy
值。
例如。如果要垂直布局组件,请执行以下操作:
gbc.gridx=0;
gbc.gridy=0;
add(topPanel1, gbc);
gbc.gridy++;
add(bottomPanel1, gbc);
gbc.gridy++;
add(buttonsPanel, gbc);
如果您未设置gridx/y
值,则行为未指定(有时可能有效)。
答案 1 :(得分:1)
如果要逐个添加三个面板,则必须删除gbc.gridheight=GridBagConstraints.RELATIVE;
语句。