• 締切済み

java:guiプログラミングのボールの軌跡

javaのguiのプログラミングなのですが、ボールを動かし軌跡を残したいのです。repaintを使って、ボールを動かして行きながら軌跡を残すプログラムを作った所、ボールはちゃんと動いたのですが、軌跡は書いては消えて書いては消えてをくりかえしているようで、画面に残らないんです。解決方法をお教えください。

みんなの回答

  • salsberry
  • ベストアンサー率69% (495/711)
回答No.3

Appletか何かで作っていますか? repaint()を呼ぶとupdate()が呼ばれ、そこからさらにpaint()が呼ばれます。しかし、update()はpaint()を呼ぶ前に画面をクリアします。一度書いた軌跡が消されてしまうのはこのためです。 画面のクリアを防ぐためにはupdate()をオーバーライドしてpaint()だけを実行するように変えればいいです。 public void update(Graphics g) { paint(g); }

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.2

「ボールの軌跡がランダム」ってどういうこと? そして, 「計算できない」ものがなんで「表示できる」と思えるの? 「ボールの過去の位置」をつなぐなら当然できる. 「それまでにボールがあった位置」を覚えておけばいい. ただそれだけ.

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.1

「ボールの軌跡」というのはすなわち 「それまでにボールがあったところ」 だよね. だから, 「それまでにボールがあったすべての位置でボールを描く」 だけ.

noname#180010
質問者

補足

ボールの軌跡がランダムで計算できないのです。 ボールの軌跡は線で表示したいです。