JPanel 内に含まれる JButton の 2D 配列で構成される 4 フレームのベクターがあります。これらを JFrame に追加して、ループ時にアニメーションを表示しようとしています。
手動でインクリメントすると機能する add メソッドがありますが、for ループに入れると、フレームが再描画されていないかのように空白のままになります。端末は正しいインデックス番号を表示します。
public void addNewFrame() throws InterruptedException {
for (int i = 0; i < 10; i++) {
if (index == 3) {
System.out.println(index);
remove(model.getFrame(3));
revalidate();
repaint();
index = 0;
add(model.getFrame(index), BorderLayout.CENTER);
revalidate();
repaint();
Thread.sleep(300);
} else {
System.out.println(index);
remove(model.getFrame(index));
revalidate();
repaint();
index++;
add(model.getFrame(index), BorderLayout.CENTER);
revalidate();
repaint();
Thread.sleep(300);
}
}
これは同時実行の問題でしょうか? 独自のスレッドで実行されている JPannel にボタンの 2D 配列を追加する必要がありますか?