首页 > 解决方案 > JComponent:如何以最正确的方式进行重绘?

问题描述

我们有以下方法:

它们都可以从用户线程以及事件调度线程调用。

其中哪一个是重绘 Swing 组件 ( ) 的最正确方法JComponent

标签: javaswing

解决方案


其中哪一个是重绘 Swing 组件(JComponent)最正确的方法?

这两种方法都是正确的。

当您使用 setText()、setForeground()、setBackground() 等更改组件的属性时, Swing 组件始终会调用repaint()。这将确保重新绘制整个组件。

repaint(...)如果您需要优化组件的绘制,可以调用该方法。如果您有一个大型组件并且只有一小部分组件更改,您可以使用此方法。但是,我建议您不要担心这一点。Swing 绘画是双缓冲且高效的,因此很少需要优化绘画代码。


推荐阅读