JPanel背景颜色溢出某些边框类型的边框

时间:2017-08-25 17:29:55

标签: java swing jpanel

当设置边框为JPanel(在我的情况下为标题边框+线条边框,但也出现在其他一些边框上时,JPanel的背景颜色会溢出,让它看起来很难看。这是一个演示:

Ugliest thing I've enet seen

我能让它看起来正常的唯一方法是在这个后面创建另一个JPanel,使其成为白色并使其透明:

That's way better

那么有什么方法可以解决这个问题,还是Swing的工作方式呢?

顺便说一下,为了改变JPanel的背景,我打电话给

panel.setBackground(Color.WHITE);

设置边框我打电话

panel.setBorder(new TitledBorder(new LineBorder(new Color(169, 169, 169)), "Settings", TitledBorder.LEADING, TitledBorder.TOP, null, null));

作为LaF,我使用的是Windows10的LaF。

1 个答案:

答案 0 :(得分:2)

标题是JPanel的一部分,因此背后的区域用背景颜色绘制。
使用TitledBorder.BELOW_TOP使其看起来像:

enter image description here