繁体   English   中英

如何更改JSplitPane分隔线的颜色或背景颜色?

[英]How to change the color or background color of JSplitPane divider?

我正在尝试设置JSplitPane分隔符的背景颜色。 我写了下面的代码,但似乎没有用。

        BasicSplitPaneUI ui = (BasicSplitPaneUI) splitPane.getUI();
        BasicSplitPaneDivider divider = ui.getDivider();
        divider.setBackground(Color.decode("#FFFACD"));

我甚至尝试过这里给出的建议如何将BackGround颜色设置为JSplitPane中的分隔符

有人可以指出错误或让我知道任何其他方法吗?

我搜索了很多帖子,用于更改分割窗格的分隔颜色。 我确实为它找到了解决方案。

splitPane.setUI(new BasicSplitPaneUI() 
{
    @Override
    public BasicSplitPaneDivider createDefaultDivider() 
    {
        return new BasicSplitPaneDivider(this) 
        {                
            public void setBorder(Border b) {}

            @Override
            public void paint(Graphics g) 
            {
                g.setColor(Color.BLACK);
                g.fillRect(0, 0, getSize().width, getSize().height);
                super.paint(g);
            }
        };
    }
});

splitPane.setBorder(null);

使用上面的代码,我们可以设置颜色,也为分隔符设置边框。有关更多信息,请参阅本教程

这适合我

BasicSplitPaneDivider divider = (BasicSplitPaneDivider) splitPane.getComponent(2);
divider.setBackground(Color.black);
divider.setBorder(null);

你用什么外观和感觉? LaF可以并且经常会覆盖您可能设置的内容。

这可能有助于http://docs.oracle.com/javase/tutorial/uiswing/lookandfeel/color.html

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM