Java重绘不能正常工作

我使用java重绘方法,它重新绘制,但只有当我点击canvas或调整面板大小时才会看到更新。 我怎样才能解决这个问题 ? 是什么导致的?

您需要调用方法revalidate()。 这会强制布局管理器更新/重新绘制其所有组件。

repaint()实际上并没有重新绘制,它只是要求重新绘制组件。

简单地从您想要绘制的组件中抓取Graphics对象可能会有所帮助。 然后只需在Graphics对象上调用paint方法。 例如:

g = component.getGraphics(); draw(g);