我应该使用哪种java swing布局

hud*_*udi 2 java layout swing layout-manager

我需要创建这个框架:

我应该使用哪种布局?我正在考虑框或网格布局,但右边的菜单将是一个问题.

Mad*_*mer 8

你的代码中有很多重复.我会分解每个部分并将其作为一个单独的组件,并专注于它的个性化布局需求.

在此输入图像描述

在主屏幕中,您有4个主要区域(菜单除外).

我会使用类似GridBagLayout布局这4个部分的东西.这使得每个部分都能够增长到所需的高度,而不会影响其他部分.您还可以根据需要为每个部分提供单独的增长提示.

第一部分是a JLabel,所以很简单

在此输入图像描述

此部分基本上是三个标签,对齐略有不同.我仍然会使用a,GridBagLayout因为它提供了最大的灵活性,允许单个单元格对齐,同时允许您提供大小提示(例如,我可能会在屏幕大小更改时将时间行设置为宽度).

在此输入图像描述

这部分有点复杂.基本上,它是左侧和右侧的相同组件,具有一些聪明的属性,您可以更改标签的位置而不会出现太多问题.

可以使用a来布置各个点/标签GridLayout.我可能会谨慎并且使用a GridBagLayout,因为这样可以使标签与点的大小不同

然后我会使用像a这样的东西GridLayout将每一面放在一个组件上(然后放在主屏幕上)

在此输入图像描述

同样,这个简单的镜像相同的组件.我只想创建一个可以通过属性调整的组件来更改对齐方式.

然后我会GridBagLayout根据需要使用a 来布置每个标签.我这样做是因为它允许每一行拥有它自己的高度.

我还有15年的空手道经验.我能为你工作吗?

  • 这是一个很好的答案.但是,我建议使用OverlayLayout而不是玻璃窗格. (2认同)