Я делаю рамку, которая содержит круглый прямоугольник.Этот прямоугольник постоянно (перерисовывает) себя с меньшими значениями.
План таков: сначала прямоугольник уменьшается в ширину (x), после этого прямоугольник уменьшается в высоте (y).
Но сейчас я просто хочу уменьшить ширину.Но у меня уже есть проблемы.
Обратите внимание, я рисую только границы прямоугольника, поэтому я не хочу его заполнять.
Я сделал цикл for следующим образом:
for (rectWidth = 470; rectWidth >= 0; --rectWidth) {
try {
//simply made to represent rectWidth's value, not really relevant
System.out.println("rectWidth is: " + rectWidth);
//draw the rectangle with it's new width, ignore the "rectHeight" for now.
g.drawRoundRect(5, 5, rectWidth, rectHeight, 10, 10);
//this Thread.sleep is messing up my frame which has an instance of this class added
//to it also, my program is uninterruptable when adding this Thread.sleep
Thread.sleep(500);
} catch (Exception ex) {
//rectangle's value will be returned here when interrupted.
}
}
Мой вопрос заключается в том, как я могу добавить «спящий» в цикл for, чтобы рисунок не шел слишком быстро, не мешая моему кадру.Этот thread.sleep портит мою рамку так, что я даже больше не вижу прямоугольник.
Я хочу добиться плавного (пере) рисования прямоугольника.(И да, я знаю, так как этот фрагмент кода теперь не перерисовывает прямоугольник, а постоянно рисует прямоугольник чуть меньшего размера в кадре.)