1

我正在尝试为需要用户注意的选项卡创建一个带有标记的 JTabbedPane。它将用于设置对话框。
这意味着背景颜色应该是动态变化的,并且与选项卡选择无关。

元素的验证正在工作(例如无效文本字段周围的红色边框),但我无法通过设置背景颜色来标记包含选项卡。查找包含选项卡并传播无效状态的代码已准备就绪。唯一的一点是:setBackgroundAt(index, Color);完全没有效果。
我已经验证了语句已经到达并且索引是正确的。但什么也没有发生。也repaint();没有SwingUtilities.updateComponentTreeUI(this);帮助。

我发现了几个人们为不同的标签赋予不同颜色的例子。这是我开始使用的:Colorize a tab in a JTabbedPane using java swing

但是我发现的所有示例都静态设置了颜色(在显示 JFrame 之前),更糟糕的是,所选选项卡的背景颜色消失了。

由于我的应用程序还允许选择外观和感觉,因此解决方案应该是 L&F 独立的。

顺便说一句:标签周围的红色边框而不是背景也可以。

4

1 回答 1

2

虽然“解决方案应该独立于 L&F”,但选项卡式窗格 UI 代表对选项卡的外观施加了相当大的控制。给定的代表可以自由地忽略您的颜色设置以支持它自己的颜色设置。由于目标是“需要用户注意的选项卡的标记”,因此还要考虑在教程中看到的自定义组件或图标。特别地,TabComponentsDemo说明了将交互式组件添加到选项卡,并且此示例说明了动画图标。

于 2013-11-12T22:36:15.837 回答