前提・実現したいこと
swingのGUIプログラミングについて.
現在swingを用いてライフゲームを作成しているのですが,
盤面をクリックやドラッグでの生死の変更,クリックによる次世代への遷移,以前の画面への遷移を実装しました.今,0.5秒ごとに自動的に次世代へ更新していくAutoボタン機能を付随しようと考えているのですがうまくいきません.
発生している問題・エラーメッセージ
Autoを押すと初めのうちだけ正常に動くがすぐに盤面の動き方がおかしくなりウインドウが固まってしまう
該当のソースコード
Java
1package lifegame; 2import java.awt.event.ActionEvent; 3import java.awt.event.ActionListener; 4import javax.swing.Timer; 5 6public class AutoListener implements ActionListener{ 7 private BoardModel model; //Boardmodel=盤面のクラス 8 private Timer timer; 9 public AutoListener(BoardModel model){ 10 this.model = model; 11 } 12 public void actionPerformed(ActionEvent e){ 13 timer = new Timer(500, this); 14 timer.start(); 15 model.next(); //nextメソッドは盤面を次世代へ進めるもの 16 return; 17} 18}
試したこと
ネットでいろいろ調べてみたがマルチスレッドというものが必要らしいというのはわかっているが何をすれば良いかいまいちわからないです.よろしくお願いします.
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
回答1件
あなたの回答
tips
プレビュー