当前位置: 首页 > 面试题库 >

JTabbedPane-设置标签周围的默认边框。

景信瑞
2023-03-14
问题内容

我在我的应用程序中使用JTabbedPane。我添加了两个选项卡,它们是自定义类“
ContentPanel”的实例。这扩展了JPanel并设置了背景,边框等。基本上,这意味着我不必设置要应用此颜色方案的每个JPanel的属性。我注意到,不仅它们的边框出现了,而且另一个边框(我认为是蓝色的-
至少在我的屏幕上)出现在此边框周围,并与“选择器”标签本身相连(即,您单击以获得按钮的按钮)适当的视图)。我想更改此边框,因为它在金色/棕色配色方案下看起来很奇怪。有谁知道如何做到这一点?我已经尝试过JTabbedPane.setBorder(Border
b),但是不起作用。这只是在整个事情上设置了边框,包括选项卡选择器..不是我想要的。

任何帮助,将不胜感激。


问题答案:

这些颜色在外观中定义。如果查看的代码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;
   }
});

您当然可以更改这些颜色设置。按照设置,您将看到在哪里使用了哪些变量。



 类似资料:
  • 问题内容: Swing组件中的文本是否具有默认字体?特别是s 上的标签标签呢? 我正在研究使用Swing制作的GUI的模型,并希望将其与我从Swing应用程序抓取的屏幕图像混合。 问题答案: 这取决于外观。如果是您编写的应用程序,请从

  • 本文向大家介绍使用jQuery给input标签设置默认值,包括了使用jQuery给input标签设置默认值的使用技巧和注意事项,需要的朋友参考一下 由于项目需求,简单地写了一个input默认值设置,实现给.form中所有的input设置默认值的方法。 以上就是本文的全部内容,希望能给大家一个参考,也希望大家多多支持呐喊教程。

  • 本文向大家介绍select标签设置默认选中的选项方法,包括了select标签设置默认选中的选项方法的使用技巧和注意事项,需要的朋友参考一下 方法有两种。 第一种 通过<select>的属性来设置选中项,此方法可以在动态语言如php在后台根据需要控制输出结果。 第二种 为通过前端js来控制选中的项: 获取<select>标签选中项文本的js代码为: 一些其它操作<select>标签的技巧如下: 1)

  • 本文向大家介绍vue2.0 下拉框默认标题设置方法,包括了vue2.0 下拉框默认标题设置方法的使用技巧和注意事项,需要的朋友参考一下 昨天到今天,用vue2.0在写一个性别选择框,一给option添加seledted属性就报错这里 下面是报错的代码 selected 已经绑定在<select></select> 上了 , 你选择了哪个选项, selected 就是那个选项的value了 ,你想让

  • 什么是Locale Locale是一组描述世界上某一特定区域文本格式和语言习惯的设置的集合。locale名通常由三个部分组成:第一部分,是一个强制性的,表示语言的缩写,例如"en"表示英文或"zh"表示中文。第二部分,跟在一个下划线之后,是一个可选的国家说明符,用于区分讲同一种语言的不同国家,例如"en_US"表示美国英语,而"en_UK"表示英国英语。最后一部分,跟在一个句点之后,是可选的字符集

  • 我想在每个标签之间设置保证金。就像在PagerTabAvenue中一样,它具有setTextSpace(int text Space)来使标签之间的文本行间距。TabLayout可以做到这一点吗?