我使用Graphics
java库渲染一个矩形,其中paintComponent()
方法绘制矩形,绘图方面的一切都很好。
我的问题是paintComponent
是继续渲染还是只渲染一次,如果窗口发生变化或发生任何事件,它会更改视图。所以我写了一个简单的System.out.println
来检查它是否继续打印它,它确实如此。那么有没有办法阻止这种情况发生,或者将渲染保留原样是好的,因为它正在完成我的目标?
答案 0 :(得分:2)
首先看看Painting in AWT and Swing和Performing Custom Painting
Swing使用被动渲染引擎,也就是说,它仅在感觉必须时进行绘制。绘画可能由于多种原因而发生,其中许多原因是您无法控制的,但您可以通过repaint
方法向重绘经理提出请求。
所以我写了一个简单的System.out.println来检查它是否继续打印它,它确实
建议出现问题,paintComponent
在正常情况下不应重复调用。当然,如果您正在制作动画并且需要更新图形,则会发生这种情况。
那么有没有办法阻止这种情况的发生,或者将渲染保留为原样
考虑提供展示您问题的runnable example。这样可以减少混淆和更好的反应。
如果不知道自己在做什么,就无法知道建议的内容......