如何使用Java的Swing GUI工具创建此设计?

问题描述

这是我为项目布局所考虑的模型:

enter image description here

enter image description here

我试图做到这一点的方法是:

我将整个框架设置为边框布局,然后用两个面板将其水平切割,我们将其称为南北面板。南面板是第一张图片中的面板3。

我也将北面板设置为边框布局,并用两个面板垂直切割。它们在第一张图片中成为面板1和面板2。当我尝试调整窗口大小时会发生问题。我希望面板可以彼此成比例地缩放,因此面板之间的尺寸比例保持不变。问题是,这些面板没有调整大小,而是彼此远离,就像这样:

enter image description here

关于创建所需设计的任何想法?我是在正确的轨道上吗,还是有另一个更适合我需求的秋千布置?

解决方法

我希望面板成比例地彼此缩放,以使面板之间的尺寸比保持不变。

尝试使用水平BoxLayout。我相信,如果有可用的额外空间,它将按比例分配最多的最大空间。

或者,如果这样不起作用,则可以使用GridBagLayout。您可以对添加到面板的每个组件使用weightx约束。这将控制为每个组件分配多少额外的空间。

阅读Layout Managers的Swing教程中的部分,以获取每种示例的工作示例。