我使用Java的repaint方法进行重绘,但只有当我单击画布或调整面板大小时,更新才会显示。如何解决这个问题?是什么原因导致的?
您需要调用revalidate()方法。这将强制布局管理器更新/重绘其所有组件。
repaint()并不是真正的重绘,它只是请求组件进行重绘。
从您希望绘制的组件中获取Graphics对象可能会很有帮助。然后只需在Graphics对象上调用paint方法即可。例如:
g = component.getGraphics(); draw(g);