获取Jframe问题的图形

时间:2014-04-21 05:33:24

标签: java jframe

预先注意:我现在无法包含我的引擎。我有自己的开发,但我使用了一些fr教程。 draw方法每秒被调用60次。

所以我有自己的Java Jframe(我创建了一个并设置了它的名字,而且都是),我使用frame.getGraphics()来获取Graphics对象。

在我被称为60次persecond的方法中,我增加一个int然后用它来绘制图像。基本上每秒我都会增加一个快速graphics.fillRect()的x值。

绘制矩形,但它非常滞后且不平滑。

我需要做些额外的步骤才能确保我有一个平滑的jFrame,每秒可以绘制很多图像吗?

1 个答案:

答案 0 :(得分:0)

我建议在画面上添加画布,然后使用画布的BufferStrategy。

class Game extends Canvas {

     public static void main(String[] args) {
          Game game = new Game()
          //init frame and add canvas

          while(true) {
               render();
          }
     }

     public void render() {
          BufferStrategy bs = getBufferStrategy();
          if(bs == null) {
               createBufferStrategy(3); //triple buffering
               return;
          }

          Graphics g = bs.getDrawGraphics();

          //do what you want with Graphics g

         g.dispose();
         bs.show();
     }
}