GirdBagLayout混乱

时间:2019-03-05 00:46:52

标签: java swing user-interface layout-manager gridbaglayout

我一直在使用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,输出将如下所示:

任何人都可以解释一下它们之间的关系吗?

我已经阅读了文档,但是它们非常模糊。经过几个小时的研究,仍然没有了解。

0 个答案:

没有答案