Задержка между несколькими setText Java - PullRequest
0 голосов
/ 24 февраля 2019

Я хочу поместить задержку между каждым if в этом, потому что я использую Thread.sleep (), но это замораживает графический интерфейс, и я не знаю, возможно ли использовать несколько циклических таймеров в цикле.enter image description here

Вот я пытаюсь с таймером свинга и продолжает зависать графический интерфейс, что я делаю не так?

1007 *

Ответы [ 2 ]

0 голосов
/ 24 февраля 2019

Используйте Swing Timer.Таймер заменяет цикл.

Каждый раз, когда срабатывает таймер, вы устанавливаете текст, а затем увеличиваете значение «i».Когда «i» достигает определенного значения, вы останавливаете таймер.

См. Jlabel, показывающий как старые, так и новые числа , для простого примера, с которого можно начать.

Чтениераздел из учебника по Swing Как использовать Swing Timers для получения дополнительной информации.

0 голосов
/ 24 февраля 2019

Если вы хотите, чтобы guid не зависал, вам нужно выполнить его в другом потоке.Запуск его в главном потоке приведет к зависанию направляющей.Вы используете свинг, поэтому путь будет:

SwingUtilities.invokeLater(new Runnable() {
      public void run() {
          // put your statements and delay here
      }
  });
...