我正在尝试设置JSplitPane分隔符的背景颜色。我编写了以下代码,但似乎没有用。
BasicSplitPaneUI ui = (BasicSplitPaneUI) splitPane.getUI();
BasicSplitPaneDivider divider = ui.getDivider();
divider.setBackground(Color.decode("#FFFACD"));
我甚至尝试过这里给出的建议 How to set BackGround color to a divider in JSplitPane
有人可以指出错误或让我知道任何其他方法吗?
答案 0 :(得分:5)
我搜索了许多帖子,用于更改拆分窗格的分隔颜色。我确实为它找到了解决方案。
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);
使用上面的代码,我们可以设置颜色,也为分隔符设置边框。有关更多信息,请参阅此内容 tutorial
答案 1 :(得分:2)
这对我有用
BasicSplitPaneDivider divider = (BasicSplitPaneDivider) splitPane.getComponent(2);
divider.setBackground(Color.black);
divider.setBorder(null);
答案 2 :(得分:1)
你使用什么外观和感觉? LaF可以并且经常会覆盖您可能设置的内容。
这可能有助于http://docs.oracle.com/javase/tutorial/uiswing/lookandfeel/color.html