如何解决JTabbedPane-设置标签周围的默认边框
这些颜色在外观中定义。如果查看的代码BasicTabbedPaneUI
,您会注意到它installDefaults()
设置了一堆protected
Color
实例变量。在L&F中针对它们定义的键也可以在此处找到。
protected void installDefaults() {
LookAndFeel.installColorsAndFont(tabPane, "TabbedPane.background",
"TabbedPane.foreground", "TabbedPane.font");
highlight = UIManager.getColor("TabbedPane.light");
lightHighlight = UIManager.getColor("TabbedPane.highlight");
shadow = UIManager.getColor("TabbedPane.shadow");
darkShadow = UIManager.getColor("TabbedPane.darkShadow");
//...
// a lot more stuff
//...
}
如果您不想定义自己的L&F,则可以在选项卡式窗格中设置自定义UI委托:
myTabbedPane.setUI(new BasicTabbedPaneUI() {
@Override
protected void installDefaults() {
super.installDefaults();
highlight = Color.pink;
lightHighlight = Color.green;
shadow = Color.red;
darkShadow = Color.cyan;
focus = Color.yellow;
}
});
您当然可以更改这些颜色设置。按照设置,您将看到在哪里使用了哪些变量。
解决方法
我在我的应用程序中使用JTabbedPane。我添加了两个选项卡,它们是自定义类“
ContentPanel”的实例。这扩展了JPanel并设置了背景,边框等。基本上,这意味着我不必设置要应用此颜色方案的每个JPanel的属性。我注意到,不仅它们的边框出现了,而且另一个边框(我认为是蓝色的-
至少在我的屏幕上)出现在此边框周围,并与“选择器”标签本身相连(即,您单击以获得按钮的按钮)适当的视图)。我想更改此边框,因为它在金色/棕色配色方案下看起来很奇怪。有谁知道如何做到这一点?我已经尝试过JTabbedPane.setBorder(Border
b),但是不起作用。这只是在整个事情上设置了边框,包括选项卡选择器..不是我想要的。
任何帮助,将不胜感激。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。