Java JScrollPane显示行标题上的图形故障。如何避免这种情况?

Java JScrollPane显示行标题上的图形故障。如何避免这种情况?,java,swing,jscrollpane,java-2d,Java,Swing,Jscrollpane,Java 2d,我试图使用带有列标题和行标题的JScrollPane 在行标题上,有一些文本。当我向下滚动窗格时,一些图形工件出现在行标题上。这就像像素的底线被重复了一次又一次 如果我最大化并恢复主窗口,问题就解决了,但这不是应该的方式 有什么办法可以避免这种情况吗?我发现,像这样的小故障通常是由自定义的paint()方法引起的,或者在进行更改后没有重新绘制 首先,我总是在自定义绘制方法的第一行调用 super.paint(); or super.paintComponent(g); 我还发现,这两条线保

我试图使用带有列标题和行标题的
JScrollPane

在行标题上,有一些文本。当我向下滚动窗格时,一些图形工件出现在行标题上。这就像像素的底线被重复了一次又一次

如果我最大化并恢复主窗口,问题就解决了,但这不是应该的方式


有什么办法可以避免这种情况吗?

我发现,像这样的小故障通常是由自定义的
paint()
方法引起的,或者在进行更改后没有重新绘制

首先,我总是在自定义绘制方法的第一行调用

super.paint();  or  super.paintComponent(g);
我还发现,这两条线保持一切新鲜和最新的。它们可能很耗时,但它们解决了很多问题。我通常把它们放在修改视图的代码末尾

this.validate();
this.repaint();

问题在于行标题的自定义绘制代码。这篇文章演示了这个问题。猜测:如果你在行标题中进行自定义绘制,你会在绘制方法中调用super方法吗?换句话说,如果重写paint,是否调用
super.paint(g)
?对于paintComponent/super.paintComponent也是如此。我同意camickr的观点,如果这没有帮助,请给我们看一张SSCCE。谢谢。你是对的。自定义绘制代码中有一些内容。我通过添加一行设置组件的首选大小来修复它。不建议通过随机方法调用对Sympton进行修改-相反,找到错误并修复它