[英]Why can't I create more than 5 buttons in JPanel using GridBagLayout
[英]More than 1 JPanel in GridBagLayout
您好,请参见所附的图片,我是具有三个JPanels的编码接口,并且我正在使用GridBagLayout
,我已经阅读了一些不错的教程并获得了一些理解,但是我需要您的指导,关于并排放置2个JPanels,如给定的图片。
例如如果我做frame.add(leftpanel);
然后在JFrame上只有一个面板..如何将其对齐到JFrame的一半,以便当我执行frame.add(panelright);
它被添加到正确的sid中,
请指导我完成Pic所示的功能,
我可以处理1个JPanel和所有组件,但不知道要处理1个以上,
我认为在您的情况下BorderLayout
会更有用。 尝试在这里阅读有关内容。
您可以在东南西北或在中心添加面板,在这种情况下,它比GridBag更好。
您需要使用GridBagConstraints指定位置和其他设置。 例如,您可以执行以下操作:
GridBagConstraints constraints = new GridBagConstraints();
constraints.gridx = 0;
constraints.gridy = 0;
constraints.fill = GridBagConstraints.BOTH;
frame.add(leftPanel, constraints);
constraints.gridx = 1;
frame.add(panelright, constraints);
constraints.gridx = 0;
constraints.gridy = 1;
constraints.gridwidth = 2;
frame.add(bottomPanel, constraints);
GridBagConstraints.gridx和GridBagConstraints.gridy确定此元素的行和列。 fill告诉布局在水平和垂直方向上使用所有可用空间。 如果要设置一个单元格将相对于其他单元格使用一定比例的空间,则可以使用weightx和weighty字段。
还考虑两个JSplitPane
实例。 最外面的窗格在顶部和底部之间将具有VERTICAL_SPLIT
。 外窗格的顶部将包含另一个JSplitPane
,该JSplitPane
在左右之间具有HORIZONTAL_SPLIT
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.