首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >分组java组件

分组java组件
EN

Stack Overflow用户
提问于 2010-02-11 22:42:41
回答 3查看 2.7K关注 0票数 4

我正在使用GridBagLayout用Java语言创建一个图形用户界面。有没有办法让我创建一个组件组,这样我就可以将引用传递给该组并访问所有组件?

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

非常感谢!

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-02-11 23:18:21

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

代码语言:javascript
复制
Map<K, List<Component>>

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

票数 3
EN

Stack Overflow用户

发布于 2010-02-11 22:56:32

你应该认为面板是只写的。你把你的组件放在那里,所有的都设置好了,并且有正确的布局约束。您(几乎)从来不会去搜索组件。

而是将组件添加到您设置时的Set (或类似)。然后,您可以在集合上执行一个非常干净的posh for循环,以执行适当的任务。一种更高级的技术是让单个观察者(侦听器)刷新模型中的组件。

票数 2
EN

Stack Overflow用户

发布于 2010-02-11 22:46:11

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2245145

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档