我怎样才能解决这个问题?
该 run() 方法不带参数。摆脱Graphics参数。这将摆脱编译错误。
run()
但是,这仍然无助于你的绘画。
相反,你需要覆盖 paintComponent(...) 方法 JPanel 然后将面板添加到框架中。然后使用传递给paintComponent()方法的Graphics对象来进行绘制。
paintComponent(...)
JPanel
阅读Swing教程中的部分 定制绘画 有关更多信息和工作示例,可帮助您入门。
此外,您不应该使用TimerTask进行动画制作。你应该使用一个 摆动计时器 。然后在 actionPerformed(...) 的方法 ActionListener 您将更改自定义绘画的属性(即在您的情况下添加要绘制的新方形对象),然后调用 repaint() 在面板上。
actionPerformed(...)
ActionListener
repaint()
,我试图每秒画一个新的广场
看看 DrawOnImage 例子发现于 自定义绘画方法 。它将向您展示如何将Rectangle对象添加到BufferedImage。
DrawOnImage