生物にjLabelsを使用して、生物の成長のシミュレーションに取り組んでいます。ただし、 for ループとタイマーを実装して移動を表示しようとすると、フリーズしてから、移動を表示するのではなく、ラベルの最終位置を表示します。なぜこれが起こっているのか誰にも説明できますか?
public class TestView extends FrameView {
public TestView(SingleFrameApplication app) {
super(app);
initComponents();
picture = new JLabel();
picture.setIcon(new ImageIcon(System.getProperty("user.dir") +
File.separator + "mouse.gif"));
picture.setBounds(0, 0, 100, 100);
mainPanel.add(picture);
for (int x = 0; x < 20; x++) {
move();
wait(50);
}
}
public static void wait(int n) {
long t0, t1;
t0 = System.currentTimeMillis();
do {
t1 = System.currentTimeMillis();
} while (t1 - t0 < n);
}
public static void move() {
picture.setBounds(picture.getX() + 5, picture.getY(), 100, 100);
}