选择布局管理器和Java GUI的面板数量

时间:2013-09-17 06:22:02

标签: java swing layout jpanel layout-manager

我很感激,如果这里的任何人都很友好地推荐我选择什么样的布局经理 以及如何将附加的GUI分成Jpanels。

enter image description here

非常感谢。

到目前为止我尝试过:

Jframe - BorderLayout Map(来自另一个扩展jpanel的类的网格和清除按钮) - 所以我把它放在jframe.CENTER中

右边的按钮:jframe.EAST 我将它们放在gridlayout的jpanel中(但是我无法获得组件之间的间距)

底部的

按钮:jframe.SOUTH 我将它们放在gridlayout的jpanel中(但是我无法获得组件之间的间距)

1 个答案:

答案 0 :(得分:9)

在尝试确定应该使用哪种布局时,首先应该尝试确定责任范围......

例如......

enter image description here

根据您的需求,我可以从GridBagLayout开始。这可能看起来很复杂,但是如果你将UI分解成单独的组件,专注于他们的个人需求,它应该变得更简单...

左边的面板......

enter image description here

我会想要使用GridBagLayout,因为它允许组件使用首选大小,但仍允许您设置类似网格的网格......

对于箭头按钮......

enter image description here

这会变得有点复杂,但我会使用GridLayout(2, 3)(2行,3列)。这将需要在顶行的第一和第三位置添加填充面板,但仍然保持按钮的大小相等......

对于这个小组......

enter image description here

我很想使用GridBagLayout,因为它可以让您跨越行甚至将它再次拆分为两个单独的面板,左侧的控件位于GridLayout(2, 1)中根据需要控制右边的BorderLayout ......

对于“进展”小组......

enter image description here

我很想使用...... GridBagLayout。主要是因为它可以让你为进度条提供更多的权重,然后是标签。

对于主面板......

enter image description here

我可能会想要使用BorderLayout,并在Clear Map的另一个面板上使用NORTH,允许它在CENTER位置和地图中保持其首选大小GridBagLayout或{{1}}中的面板取决于各个组件的内容......