【发布时间】:2023-04-02 10:52:01
【问题描述】:
我有一个 GUI,其中包含一个面板,其中包含一个组件和一个与该组件相关的标签。标签被创建并且从未改变,所以目前,我只是在JPanel.add() 方法中拥有它们的构造函数。
//add label
toServerPanel.add(new JLabel("Your Message"), BorderLayout.NORTH);
//add component
toServerPanel.add(toServer, BorderLayout.SOUTH);
这很好用,它们作为匿名对象也很好,但我现在想更改应用程序中部分或全部标签的文本颜色。由于它们是匿名对象,因此无法通过变量名访问它们,但同时我不想创建无休止的 JLabel 变量。
在当前情况下,是通过检查JPanel 中的对象来访问JLabel 对象的方法或函数吗?
或者,是否有某种循环会影响 GUI 上的所有 JLabel 对象?
谢谢, 标记
【问题讨论】:
-
“标签被创建并且从未改变” - 所以这可能看起来像一个愚蠢的声明,那么你为什么不在
toServerPanel中提供一个getter来检索他们?如果您想通过某个标识符查找它们,您可以在List或事件Map中维护它们?