我正忙着编写Java,我需要两个JPanes并排。
我有一个单独的JPane,我正在使用它作为父JPane,它包含两个并行的子JPanes,每个都有一个用于分离的边界。
每个子JPane的内部都有一个JPane,其中有一个定位元素的GridBagLayout。我的代码如下
import javax.swing.*;
import java.awt.*;
public class JavaGui extends JFrame {
public static void main(String[] args) {
JavaGui window = new JavaGui();
// setup window here
// main panels
JPanel container = new JPanel(new FlowLayout(FlowLayout.LEFT));
JPanel panelLeft = new JPanel(new FlowLayout(FlowLayout.LEFT));
JPanel panelRight = new JPanel(new FlowLayout(FlowLayout.LEFT));
window.add(container);
container.add(panelLeft);
container.add(panelRight);
// grid layout panels
JPanel leftGrid = new JPanel(new GridBagLayout());
JPanel rightGrid = new JPanel(new GridBagLayout());
GridBagConstraints grid = new GridBagConstraints();
panelLeft.add(leftGrid);
panelRight.add(rightGrid);
// test labels
JLabel label01 = new JLabel("Label 01");
JLabel label02 = new JLabel("Label 02");
JLabel label03 = new JLabel("Label 03");
JLabel label04 = new JLabel("Label 04");
// add labels to grids
grid.gridx = 0;
grid.gridy = 0;
leftGrid.add(label01, grid);
grid.gridx = 0;
grid.gridy = 0;
rightGrid.add(label02, grid);
grid.gridx = 0;
grid.gridy = 1;
rightGrid.add(label03, grid);
grid.gridx = 0;
grid.gridy = 2;
rightGrid.add(label04, grid);
// add borders to see sizes
panelLeft.setBorder(BorderFactory.createLineBorder(Color.black));
panelRight.setBorder(BorderFactory.createLineBorder(Color.black));
};
};然而,当我添加边框以查看左面板和右面板的大小时,我看到它们有不同的高度,运行时如下所示:
当前

有可能让这些面板保持相同的高度吗?
必填项

发布于 2016-01-14 13:19:50
使用带有行和列参数的网格布局创建左网格和右网格
JPanel leftGrid =新JPanel(新GridLayout(3,3));
JPanel rightGrid =新JPanel(新GridLayout(3,3));
https://stackoverflow.com/questions/34790350
复制相似问题