组java组件

时间:2010-02-11 14:42:41

标签: java swing gridbaglayout

我正在使用GridBagLayout在Java中创建GUI。有没有办法让我创建一个组件组,以便我可以将引用传递给组并访问所有组件?

我考虑过创建一个面板并按照这种方式对组件进行分组,但我想知道是否有另一种方法可以利用GridBagLayout的复杂性。

非常感谢!

3 个答案:

答案 0 :(得分:3)

好吧,如果你不能用JLabel,JTextField和JButton来创建一个用于包含你的组的bean,你可以在你的主ui面板中使用Map来在你添加它们时注册这些元素。 一些结构如

Map<K, List<Component>>

可能有用,其中K是组的标识符。这样就可以将组件与它们放置在ui中的方式分离开来。

答案 1 :(得分:2)

您应该将面板视为只写。你在那里打乱你的组件,所有设置和正确的布局约束。你(几乎)永远不会去寻找组件。

相反,请在设置时将组件添加到Set(或类似)。然后你可以在集合上做一个非常干净的posh for循环来执行相应的任务。更高级的技术是让个别观察者(听众)从模型中刷新组件。

答案 2 :(得分:0)

通常的方法是按照建议使用JPanel。请记住,JPanel本身可能有自己独立的布局管理器。因此,您可以在JPanel上使用GridBagLayout来定位面板上的元素。