Swing:每毫秒更新一次图形?

时间:2016-04-08 23:03:36

标签: java swing graphics

我用基本的GUI创建了一个小草图程序。我使用了paintComponent方法。我想更新每毫秒绘制的图形。这样,用户可以在释放鼠标单击之前看到他们要绘制的内容。 例如,如果我正在绘制一个矩形,我想看到矩形我正在绘制它。 如果您对我正在谈论的内容感到困惑,请打开MS Paint并单击矩形工具。画一个矩形。请注意它是如何连续更新的,而不是在您释放鼠标之后。 我认为必须有一些方法可以让它每毫秒更新我的图形。这样做的最佳方法是什么?对不起,如果这是一个简单的问题,我是Swing的新手! :)

1 个答案:

答案 0 :(得分:2)

嗯,你不会每毫秒更新一次。

您使用MouseMotionListener并在每次生成mouseDragged事件时重新更新以重绘矩形。

查看Custom Painting Approaches有关如何执行此操作的两种方法。

示例显示如何通过以下任一方式绘制多个矩形:

  1. 将对象添加到列表,然后在每次重新绘制组件时重新绘制每个对象
  2. 直接绘制到BufferedImage上,然后绘制BufferedImage。