如何使用Java';什么是Swing GUI工具?

如何使用Java';什么是Swing GUI工具?,java,swing,user-interface,layout,layout-manager,Java,Swing,User Interface,Layout,Layout Manager,这是我心目中的项目布局模型: 我试图实现这一目标的方式是: 我将整个框架设置为边框布局,然后用两个面板水平剪切,我们称之为北面板和南面板。南面板是第一张图片中的面板3 我还将北面板设置为边框布局,并用两个面板垂直剪切。在第一张图片中,它们成为面板1和面板2。当我尝试调整窗口大小时,问题就出现了。我想面板的比例,以使每个面板之间的大小比例保持不变。问题是,面板没有调整大小,而是彼此远离,如下所示: 有什么想法来创造理想的设计吗?我是在正确的轨道上,还是有其他更适合我需要的摇摆布局 我想面板的

这是我心目中的项目布局模型:

我试图实现这一目标的方式是:

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

我还将北面板设置为边框布局,并用两个面板垂直剪切。在第一张图片中,它们成为面板1和面板2。当我尝试调整窗口大小时,问题就出现了。我想面板的比例,以使每个面板之间的大小比例保持不变。问题是,面板没有调整大小,而是彼此远离,如下所示:

有什么想法来创造理想的设计吗?我是在正确的轨道上,还是有其他更适合我需要的摇摆布局

我想面板的比例,以使每个面板之间的大小比例保持不变

尝试使用水平的
BoxLayout
。我相信如果有额外的空间,它会按比例分配额外的空间,直到组件的最大尺寸

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

阅读Swing教程中的章节,了解每种方法的工作示例

我想面板的比例,以使每个面板之间的大小比例保持不变

尝试使用水平的
BoxLayout
。我相信如果有额外的空间,它会按比例分配额外的空间,直到组件的最大尺寸

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


阅读Swing教程中关于每个面板的工作示例的部分。

“我们将它们称为北面板和南面板”我们如何消除所有歧义,并在显示当前行为的示例中查看它们的名称?顺便说一句,给右边2个按钮的列提供额外的GUI空间有什么意义?按钮本身应该变大吗?我能告诉你的一件事是:每个组件都有自己的布局设置。您可以在基架(或其他面板)继续使用BorderLayout时,在其中一个面板中使用(例如)FlowLayout。每个布局模型都有各自的特点,您可以为每个部分使用最好的布局模型,以便在您的脑海中构建理想的GUI设计。@AndrewThompson Hey-man。当然,也许下次我可以这样做。带有两个按钮的面板不一定需要与其他两个面板一起缩放,但我认为它至少需要在一个轴或另一个轴上缩放,以保持整个窗口的美观。@MNEMO感谢您的提示!我确实计划使用不同的布局来组织子面板的组件。我只是认为首先让面板本身适当缩放是一个好主意。“我们称它们为南北面板”我们消除所有歧义,看看它们在显示当前行为时被称为什么?顺便说一句,给右边2个按钮的列提供额外的GUI空间有什么意义?按钮本身应该变大吗?我能告诉你的一件事是:每个组件都有自己的布局设置。您可以在基架(或其他面板)继续使用BorderLayout时,在其中一个面板中使用(例如)FlowLayout。每个布局模型都有各自的特点,您可以为每个部分使用最好的布局模型,以便在您的脑海中构建理想的GUI设计。@AndrewThompson Hey-man。当然,也许下次我可以这样做。带有两个按钮的面板不一定需要与其他两个面板一起缩放,但我认为它至少需要在一个轴或另一个轴上缩放,以保持整个窗口的美观。@MNEMO感谢您的提示!我确实计划使用不同的布局来组织子面板的组件。我只是觉得首先让面板本身正确缩放是个好主意。谢谢你的建议!我将研究这些选项。作为一般的Swing建议,了解
GridBagLayout
及其功能会给您带来最大的自由和灵活性,因为实际上,Swing中所有可以想象的布局都可以通过
GridBagLayout
完成,而另一个
layoutmanager
则更专业,通常只能实现简单的布局。谢谢你的建议!我将研究这些选项。作为一般的Swing建议,了解
GridBagLayout
及其功能会给您带来最大的自由和灵活性,因为实际上,Swing中所有可以想象的布局都可以通过
GridBagLayout
完成,而另一个
layoutmanager
则更专业,通常只能实现简单的布局。