Java 什么元素控制JPanel和JTabbedPane选项卡之间的薄条的颜色

Java 什么元素控制JPanel和JTabbedPane选项卡之间的薄条的颜色,java,swing,Java,Swing,我正在我的程序中试验配色方案。我可以更改面板和选项卡式面板选项卡的颜色,但它们之间有一条细条,保持默认颜色 我已经尝试更改框架、内容窗格、选项卡式窗格的背景颜色,包括普通背景和选定背景和面板。我甚至尝试过改变边框颜色,但它并没有解决这个问题 我使用的颜色只是为了使它更可见,下面的代码取自同一java文件的各个部分,只是为了显示我正在使用的代码 //面板 testPanel.setBackgroundColor.red; testPanel.setBorderBorderFactory.creat

我正在我的程序中试验配色方案。我可以更改面板和选项卡式面板选项卡的颜色,但它们之间有一条细条,保持默认颜色

我已经尝试更改框架、内容窗格、选项卡式窗格的背景颜色,包括普通背景和选定背景和面板。我甚至尝试过改变边框颜色,但它并没有解决这个问题

我使用的颜色只是为了使它更可见,下面的代码取自同一java文件的各个部分,只是为了显示我正在使用的代码

//面板 testPanel.setBackgroundColor.red; testPanel.setBorderBorderFactory.createLineBorderColor.green,3; //内容窗格 容器cp=this.frame.getContentPane; cp.setBackgroundColor.品红色; //选项卡窗格 UIManager.putTabbedPane.selected,Color.green; tabbedPane.setBackgroundColor.CYAN; tabbedPane.setBorderBorderFactory.createLineBorderColor.black,3; 我希望背景颜色能从主面板无缝地流向活动选项卡式窗格标题选项卡。在这种情况下,红色背景和绿色“测试面板”背景会显示背景,在真实的程序中,它将是一种颜色,但它是分开的,甚至在左右和底部的黑色和绿色边框之间有一条很薄的默认灰色带

下面链接了一张图片,显示了我的意思,因为我理解我的描述可能不是很清楚

最小工作示例

下面,灰色区域位于带黑色边框的蓝色面板和粉红色内容窗格边框之间以及选项卡下方

public static void main(String[] arg)
    {
        //create frame
        JFrame frame = new JFrame("minimal working code");
        frame.setResizable(true);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.getContentPane().setLayout(null);
        frame.setBounds(200, 200, 500, 300);
        frame.setVisible(true);

        //change tabbedPane selection colour
        UIManager.put("TabbedPane.selected", Color.green);
        //create tabbed pane
        JTabbedPane tabbedPane = new JTabbedPane(JTabbedPane.TOP);
        tabbedPane.setBounds(30, 20, 400, 200);
        frame.getContentPane().add(tabbedPane);

        //create test panels
        JPanel panel1 = new JPanel();
        tabbedPane.add("Panel 1", panel1);
        JPanel panel2 = new JPanel();
        tabbedPane.addTab("Panel 2",panel2);

        //change colors of panel and tabbed pane background and border
        panel1.setBackground(Color.blue);
        tabbedPane.setBackground(Color.red);
        frame.getContentPane().setBackground(Color.yellow);
        panel1.setBorder(BorderFactory.createLineBorder(Color.black,3));
        tabbedPane.setBorder(BorderFactory.createLineBorder(Color.pink,3));     

    }

您可以轻松摆脱这一行:

UIManager.put("TabbedPane.contentBorderInsets", new Insets(0, 0, 0, 0));
预览:


您可以轻松摆脱这一行:

UIManager.put("TabbedPane.contentBorderInsets", new Insets(0, 0, 0, 0));
预览:


嗯,我花了一些时间找到这个。看来有人抢先了我一步

UIManager.putTabbedPane.contentBorderInsets, 新InsetsUIResource0,0,0,0; UIManager.putTabbedPane.borderHightlightColor,java.awt.Color.yellow;//标签 //UIManager.putTabbedPane.shadow,java.awt.Color.yellow; //UIManager.putTabbedPane.tabAreaBackground,java.awt.Color.yellow; UIManager.putTabbedPane.light,java.awt.Color.yellow;//标签 //UIManager.putTabbedPane.selectHighlight,java.awt.Color.yellow; //UIManager.putTabbedPane.highlight,java.awt.Color.yellow; UIManager.putTabbedPane.darkShadow,java.awt.Color.yellow;//标签 //UIManager.putTabbedPane.focus,java.awt.Color.yellow; //UIManager.putTabbedPane.lightHighlight,Color.yellow; //UIManager.putTabbedPane.selectHighlight,Color.yellow;
我可以在这里找到更多信息。看来有人抢先了我一步

UIManager.putTabbedPane.contentBorderInsets, 新InsetsUIResource0,0,0,0; UIManager.putTabbedPane.borderHightlightColor,java.awt.Color.yellow;//标签 //UIManager.putTabbedPane.shadow,java.awt.Color.yellow; //UIManager.putTabbedPane.tabAreaBackground,java.awt.Color.yellow; UIManager.putTabbedPane.light,java.awt.Color.yellow;//标签 //UIManager.putTabbedPane.selectHighlight,java.awt.Color.yellow; //UIManager.putTabbedPane.highlight,java.awt.Color.yellow; UIManager.putTabbedPane.darkShadow,java.awt.Color.yellow;//标签 //UIManager.putTabbedPane.focus,java.awt.Color.yellow; //UIManager.putTabbedPane.lightHighlight,Color.yellow; //UIManager.putTabbedPane.selectHighlight,Color.yellow;
您可以在

上找到有关这些问题的更多信息。如果您能提供一个演示问题的示例,将有所帮助。您遗漏了很多代码。现在添加了:如果您提供一个示例来演示问题,将会有所帮助。您遗漏了很多代码。现在添加了:谢谢,正是我要找的!谢谢你,这正是我想要的@johnthomsonn这可能会提供更多信息。谢谢,我感谢您为此投入的时间,我还使用了borderHighlightColor并将您发送给我的链接添加到书签中。@johnthomsonn这可能会提供更多信息。谢谢,我很感激你花了这么多时间在这上面,我还利用了borderHighlightColor,并将你发给我的链接添加到书签中。