java - 删除 Nimbus 外观和感觉中的 JTabbedPane 边框/分隔线

标签 java swing look-and-feel jtabbedpane nimbus

我使用 Nimbus L&F,我尝试删除下图所示的边框,并将选项卡置于屏幕中央,类似于默认的 Mac OS 外观和感觉。但我仍然没有取得任何成功。

帮助任何人吗?

http://bildr.no/image/cUJBdW94.jpeg

最佳答案

不确定为什么您想要这样做,但您想要做的是修改默认值。您可以看到Nimbus Defaults对于所有默认设置。如果向下滚动页面,您将看到 TabbedPanes 的所有默认设置。

enter image description here

你可以看到这些默认属性的所有绘制都是由Painter完成的。您可以将画家设置为 null,这样它就不会绘制任何东西。

for (javax.swing.UIManager.LookAndFeelInfo info : javax.swing.UIManager.getInstalledLookAndFeels()) {
    if ("Nimbus".equals(info.getName())) {
        UIManager.setLookAndFeel(info.getClassName());
        UIManager.getLookAndFeelDefaults().put(
                "TabbedPane:TabbedPaneTabArea[Disabled].backgroundPainter", null);
        UIManager.getLookAndFeelDefaults().put(
                "TabbedPane:TabbedPaneTabArea[Enabled+MouseOver].backgroundPainter", null);
        UIManager.getLookAndFeelDefaults().put(
                "TabbedPane:TabbedPaneTabArea[Enabled+Pressed].backgroundPainter", null);
        UIManager.getLookAndFeelDefaults().put(
                "TabbedPane:TabbedPaneTabArea[Enabled].backgroundPainter", null);
        break;
    }
}

enter image description here

关于java - 删除 Nimbus 外观和感觉中的 JTabbedPane 边框/分隔线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23523828/

相关文章:

Java ConcurrentHashMap 原子获取如果存在

java - 使用 ArrayList 和 CompareTo 对文件的结果进行排序

java - 线程异常 "AWT-EventQueue-0"错误

java - 无法检测到 Windows 经典主题处于 Activity 状态

java - 如果 Spark 数据集中的记录键相同,如何创建值列表

java - OSGi 的收支平衡点

java - 我应该使用哪种设计模式在 java 中构建 GUI 以及以下场景?

java - 搜索文本文件并在 JPanel 中显示结果

java - 在 NetBeans RCP 应用程序中使用第三方外观

java - 改变 JFileChooser 行为 : preventing "choose" on enter in file path JTextField