Функция ожидания Java - PullRequest
0 голосов
/ 19 мая 2011

Мне было интересно, если вы, ребята, могли бы помочь мне.Я пытаюсь создать анимационную программу со встроенным графическим модулем Java ... Дело в том, что Java выполняет все сразу;нет времени между различными анимациями.Конечный продукт - это просто последняя картина.Мне нужна функция, которая помещает примерно полсекунды между каждой картинкой.

Любая помощь приветствуется.

Характеристики: Blue-J, JDK 6.

Редактировать: Кстати, я новичок в Java, и это классная вещь.Задание состояло в том, чтобы сделать анимацию и нажать «c», чтобы перейти к следующему кадру, но я думаю, что это своего рода гетто, поэтому я хочу что-то лучше.

Ответы [ 2 ]

4 голосов
/ 19 мая 2011

Создайте javax.swing.Timer , который выполняет каждые X миллисекунд и рисует один кадр при каждом запуске.

Это пример из javadoc:

  int delay = 1000; //milliseconds
  ActionListener taskPerformer = new ActionListener() {
      public void actionPerformed(ActionEvent evt) {
          //...Perform a task...
      }
  };
  new Timer(delay, taskPerformer).start();

Изменить задержку, например, до 20 мс.Это даст вам около 50 кадров в секунду, если ваша картина не займет слишком много времени.

0 голосов
/ 19 мая 2011

Может быть, вам достаточно простого сна?

Thread.sleep(milliseconds);
...