我要建立一个相当大的形式,与许多控制。控制分为 基本的 控制设置和 延长 控制设置。用户可以决定,如果他希望看到只有基本的或基本的和扩大的控制。

我已经放弃了所有的扩展控制自己的JPanel这样我就可以很容易地交换机之间的两个意见表示或隐藏这个小组。

目前我使用GroupLayout和什么情况是,控制在不同的面板都没对准:

Label aaa:     Text field
Label a:       Text field
Label aaaaaa:  Text field
----------------------------
Label b:    Text field
Label bbb:  Text field
Label bb:   Text field

不幸的是我找到了现在的方式"同步"的布局的两个小组(除了使用AbsoluteLayout和固定的控制坐标)

  • 是否有任何方法来达到这个吗?
  • 是我的整个设计有缺陷的?

编辑: 如果这是可能的,我想保持GroupLayout管理。

有帮助吗?

解决方案

据我所知,没有摇摆。(从java运行环境或开放源)可以跨越几个小组。

我目前正在这样一个特征(这是我称为"布局同步")为我的 DesignGridLayout 的项目,但它不是容易实现了(我已经开始了约2个星期前,我仍然看不到到底,如果并且当我会得到一些有趣的事情,但我仍然有很高的希望它;-))

一个选择你可以检查将会增加所有组成部分相同的小组(只有一个GroupLayout然后)隐藏或展示他们根据用户的选择。我们希望,GroupLayout会适应的尺寸的情况(后叫pack()).

如果GroupLayout的行为,那么它只是一个问题的呼吁pack()后,每次用户更改他的选择,以显示扩展领域。

否则你就得手动设置的大小小组用户每次改变他的选择。

其他提示

也许最简单的(良好)方式做到这一添加的所有组成部分的主板。设置的安装盘给非不透明的,并添加还主板。主要小组的需要,优化了图纸被关闭。

另一种技术是增加一个隔组成部分。到底板添加组件在同一列的标签,其动态需要的宽度的组成部分的各种尺寸的方法从上标签。这样做反顶板。

我觉得没有办法做到这一标准局的管理人员。你可能得写自己的布局管理,但应该不会太难的,如果你的亚类GroupLayout.

你可以使用GridLayout而不是GroupLayout这将给你之间的间隔均匀列

如果你想保持他们单独的小组的单独的布局:

迭代所有标签的添加,并找到最佳的宽度。迭代表第二次,并设置较佳大小,每个标签是优选的高度,但是最大的宽度。

这样的解释。 GridLayout.这将让每一个组成部分的大小,你希望的。与GridData对象可以规定如何组件ordere.

alt text
(资料来源: sun.com)

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top