我覆盖 JSeparator 的paintComponent(Graphics g)
方法,以便在需要时获得更粗的线条和不同的颜色。
但我无法获得原始默认颜色。如果以下代码中的color
为null
,则颜色会变为黑色,在我的情况下我不喜欢它。
int width = this.getSize().width;
Graphics2D g2 = (Graphics2D) g;
if (thickness > 0)
{
g2.setStroke(new BasicStroke(thickness));
}
if (color != null)
{
g2.setColor(color);
}
g2.drawLine(startPos, 0, width - endPos, 0);
原始默认颜色不是黑色。您可以从附加的屏幕截图中看到这一点。较短和较长的行是通过调用super.paintComponent(g)
绘制的原始分隔符。当color
为null
时,上面的代码绘制了较粗和较短的分隔符。
那我怎样才能获得原始的默认颜色?我尝试从 getForeground(), getBackground()和 getColor()调用color
。但没有一个是原始默认颜色。