问题:无法更改选项卡式面板内容区域的边缘或选项卡背景颜色
尝试过:将面板设置为不透明,更改 UIManager 默认值以及其他一些随机操作。
代码:https://gist.github.com/DarkGuardsman/b86c542cc168d1c792a01a4d44dba229
注意:我没有编写所有这些代码,因为我正在通过界面更改来更新现有项目。因此,请注意解决方案而不是编码风格。
最佳答案
我找到了一个解决方案,尽管我很确定这不是最好的解决方案。在发帖之前我本来是打算这么做的。通读 UI 代码后,我发现它在内容面板周围绘制了边框。覆盖大部分边框的paintTabBackground方法解决了这个问题。
private class TabUI extends BasicTabbedPaneUI
{
@Override
protected void paintTabBackground(Graphics g, int tabPlacement, int tabIndex, int x, int y, int w, int h, boolean isSelected ) {
g.setColor(LauncherFrame.secondaryColor);
switch(tabPlacement) {
case LEFT:
g.fillRect(x+1, y+1, w-1, h-3);
break;
case RIGHT:
g.fillRect(x, y+1, w-2, h-3);
break;
case BOTTOM:
g.fillRect(x+1, y, w-3, h-1);
break;
case TOP:
default:
g.fillRect(x+1, y+1, w-3, h-1);
}
}
}
关于java - 更改选项卡式面板的背景颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38602038/