Я создал программу на Java (eclipse), которая отображает квадраты и треугольники на сетке, используя JFrame. Программа определяет, куда объекты попадают в цикл «for». Я хотел бы, чтобы объекты появлялись по одному (в покадровом подходе). Похоже, что для решения этой проблемы следует использовать «цикл сна». Однако я чувствую, что отсутствие понимания java.awt *; вызывает у меня проблемы. Я добавил следующее в мой цикл for
try<br>
{<br>
Thread.sleep(1000); // do nothing for 1000 miliseconds (1 second)<br>
}<br>
catch(InterruptedException e)<br>
{<br>
e.printStackTrace();<br>
}
Программа ожидает, но рисует объекты сразу после того, как она закончила спать. Я просмотрел свою программу и обнаружил, что эта команда «сна» работает в некоторой степени (ожидание перед обработкой следующей команды). Я поместил оператор println в указанный «цикл for», чтобы проверить его, и программа ждет одну секунду, прежде чем печатать каждую из них. Println. Но я не знаю, почему JFrame рисует все только один раз в конце. Должен ли я использовать что-то вроде repaint () каждый раз, когда я хочу отобразить новый кадр?
МОЯ структура проекта - 3 класса. Главный, который просто вызывает DisplayFrame. DisplayFrame, который устанавливает фрейм. И MyComponent, который содержит мой цикл for и команду sleep.
Любая помощь будет оценена.