Java 中的 Repaint() 方法

2025年3月17日 | 阅读 3 分钟

Java 中的 repaint 方法在 java.applet.Applet 类中是可访问的,它是一个 final 方法,当我们需要调用 update 方法并伴随调用 paint 方法时使用;调用 update 方法会清除当前窗口,执行更新,然后调用 paint 方法。

Repaint() 方法的语法

  • public void repaint()
  • public void repaint(long m)
  • public void repaint(int a, int b, int breadth, int length)
  • public void repaint(long m, int a, int b, int breadth, int length)

以上语法是 Java 中 repaint() 方法的语法。repaint 方法是 java.applet.Applet 类的一部分,它不能被覆盖。因此,repaint 方法可以直接从继承 Applet 或其子类的类中调用。

Repaint() 方法的工作原理

repaint() 方法存在于 Applet 类中。我们不能覆盖 repaint() 方法,因为它是一个 final 方法。无论何时使用 repaint() 方法,都应该直接从 Applet 类的子类调用。repaint() 方法负责处理 applet 的 paint() 模式的更新。当我们认为一个组件需要重绘自身时,我们需要调用 repaint() 方法。

如果我们已经更改了组件的外观但没有更改其大小,那么我们可以调用 repaint() 方法来在图形用户界面上刷新组件的新外观。repaint() 方法是 Applet 类的一个非同步方法。当调用 repaint 方法时,它会请求在稍后时间擦除并重新绘制该组件。

每当从组件调用 repaint 方法时,就会向图形用户界面发送一个请求,指示图形用户界面在未来的某个时间点执行某些操作。repaint 方法背后的整个思想是避免直接调用 paint() 方法。

示例

这里,我们有一个 AWT 的示例程序,它在鼠标单击时绘制椭圆。首先,我们覆盖 paint() 方法并为椭圆设置一些点。然后,在 mousePressed() 中,我们调用 repaint() 方法,该方法将在调用 update() 方法后调用 paint() 方法。

输出

鼠标单击框架前的外观。

Repaint() Method in Java

鼠标单击框架后的外观。

Repaint() Method in Java

上面的模型清晰地阐述了 repaint() 方法及其功能。当我们希望 applet 的更新和绘制周期被调用时,我们应该调用 repaint() 方法。调用 repaint() 方法可以立即更新组件的外观。