1

今日、私はプログラムを作成していました。私はまだ初心者なので、まだ学習中ですが、別の円を追加する方法を知りたいです。たとえば、赤と青の 2 つのユニットがあり、 x と y の位置をランダムに選択するランダム化ですが、開始をクリックすると、赤い円が 1 つだけ表示され、青い円はそこにもありません。コーディングを行っていないことはわかっていますが、ここに私のプログラムがあります。 )

yh :) よろしくお願いします。

4

1 に答える 1

5

ここでいくつか変更する必要があります。

  • すべての AWT コンポーネント (キャンバス、パネルなど) をドロップし、それらを同等の Swing コンポーネント ( 、...) に置き換えJPanelますJTextField。これにより、レンダリングの問題が回避され、ダブル バッファリングが発生します (コードを実行する必要はありません)。
  • 絶対に使用しないでくださいc.getGraphics()
  • そこに提供されているパラメーターをオーバーライドpaintComponent(Graphics g)して使用します(いくつかの例については、このリンクも参照してください)Graphics g
  • 「アニメーション」を実行するには、 を使用しjavax.swing.Timerます。UI のすべての更新は、EDT (イベント ディスパッチ スレッド) で行う必要があります。Swing での並行性についてもお読みください
  • JOptionPane.showMessageDialog(またはその他のダイアログ) を使用する場合は、有効なコンポーネントを提供し、 ではありparentませんnull。これにより、ウィンドウの適切なペアレント化が可能になります (ダイアログが他のフレームによって隠されるのを回避します)。
于 2013-06-19T08:02:46.383 に答える