2

我的 Swing 应用程序中有一组单选按钮,它们周围有一个边框,如下所示:

radioButtonPanel.setBorder( new CompoundBorder ( 
    BorderFactory.createTitledBorder( " Input Data " ), padBorder ) );

我们的应用程序支持两种外观,一种是浅色的,一种是深色的。在两者之间切换时,边框颜色本身似乎可以正确更改颜色,但文本不会。对于我的生活,我无法弄清楚我应该设置颜色的组件名称是什么。的文档createTitledBorder()说它使用默认的外观和感觉,但我不确定它在哪里拉它的默认值。我以为是Panel.foreground,但事实并非如此,而且似乎没有其他东西看起来很正确。

有人知道我需要在这里设置哪个外观和感觉组件吗?

4

2 回答 2

5

您可以在 TitledBorder 实例上设置标题颜色,或者使用将标题颜色作为参数的构造函数创建一个。

TitledBorder javadoc 还指出外观和感觉中的“TitledBorder.titleColor”属性用作默认值。您可以按如下方式覆盖它:

UIManager.getDefaults().set("TitledBorder.titleColor", Color.RED);
于 2010-03-04T22:40:20.383 回答
1

而不是打电话

UIManager.getDefaults().set("TitledBorder.titleColor", Color.RED);

你需要打电话

UIManager.put("TitledBorder.titleColor", Color.RED);
于 2010-12-16T07:34:14.967 回答