我一直在使用GridBagLayout创建此特定布局:
今天我以某种方式设法实现了目标,但是我完全不知道如何实现。我了解网格机制,但是具体来说,是setpreferredsize覆盖,weightx和weighty使我感到困惑。
例如,将我代码的权重从1更改为0会产生以下结果:
返回权重1并将权重更改为0会产生以下结果:
最后,对于我的3个面板中的每一个,我在创建它时都使用以下代码:
JPanel connectionPanel = new JPanel() {
@Override
public Dimension getPreferredSize() {
return new Dimension(100, 100);
}
};
将一个面板的尺寸从100更改为例如500会产生以下效果:
更改高度时类似的情况。
我要了解的是weightx,weighty和setpreferredsize的工作方式。
当我调用面板的getpreferredsize时,它返回的宽度和高度为0!
如果我不使用覆盖来专门更改甚至我的面板中的一个的preferredSize,输出将如下所示:
任何人都可以解释一下它们之间的关系吗?
我已经阅读了文档,但是它们非常模糊。经过几个小时的研究,仍然没有了解。