如何为JLabel设置禁用状态下的文本颜色?

3
如何为程序中的每个JLabel设置禁用文本颜色?文档中没有相关说明。有没有办法为其设置禁用前景色?
1个回答

3

我明白了。可以使用UI Defaults设置前景。

// Use the key, Label.disabledForeground
UIManager.put("Label.disabledForeground",Color.RED);

JLabel l=new JLabel("Label Disabled");
l.setEnabled(false);
// You get a red foreground

For NimbusLookAndFeel

UIManager.put("Label[Disabled].textForeground",Color.RED);

4
可以使用UI默认值进行设置。对于Nimbus外观,这是主要问题 - 它们在PLAF之间不一致。:( - Andrew Thompson
+1 Andrew。因为我一直是一个Metal的人,所以我从来不知道这个。 - splungebob
请问为什么JLabel可以编辑或者不能编辑?JLabel并不是为此目的而设计的。 - mKorbel
@mKorbel JLabel是JComponent的子类,首先要明确这一点!它是我们自己的,没有人,甚至包括Swing团队在内,能决定我们对组件应该做什么,我们只是玩弄它而已!;) - JavaTechnical
@mKorbel 我同意你的评论,但我没有看到他提到“editable”。他只是询问“enabled”状态。 - splungebob
当然要避免冲动行事,对于热脑门的行为要保持警惕!还有,不要重复造轮子,从好奇心转变为过敏反应。 - mKorbel

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接