Java 在Swing中重新绘制工件

Java 在Swing中重新绘制工件,java,swing,draw,repaint,artifact,Java,Swing,Draw,Repaint,Artifact,我有一个程序,右边有一个面板,其中包含一个BuffereImage,它经常使用Paintime立即更新和重新绘制,左边是一些按钮和JTextArea。通常,在重新绘制BuffereImage时,左侧的按钮会重新绘制图像的一部分,从而模糊其内容。我怎样才能防止这种情况 以下是我调用的用于重新绘制的方法: void paintPlot() { plot.paintImmediately(0, 0, 1000, 1000); } 如果相关的话,我从一个单独的线程中调用它。它在评论中得到了回答

我有一个程序,右边有一个面板,其中包含一个BuffereImage,它经常使用Paintime立即更新和重新绘制,左边是一些按钮和JTextArea。通常,在重新绘制BuffereImage时,左侧的按钮会重新绘制图像的一部分,从而模糊其内容。我怎样才能防止这种情况

以下是我调用的用于重新绘制的方法:

void paintPlot() {
    plot.paintImmediately(0, 0, 1000, 1000);
}

如果相关的话,我从一个单独的线程中调用它。

它在评论中得到了回答。我需要创建此线程,以便将线程标记为已关闭。

您总是在事件调度线程上重新绘制吗?为了更快地获得更好的帮助,请立即使用paintimetly发布一个@Fractaly小心,因为您绘制的是命名的矩形,请参见。我切换到使用重新绘制,现在它已修复。谢谢