Мне нужно создать графический интерфейс, в котором работник входит на станцию (место на панели) и остается там на определенное количество секунд, показанное в обратном отсчете от головы рабочего (так, как только рабочие перемещаются на месте метки станции показывают 3s -> 2s -> 1s, а затем рабочий уходит, а метка возвращается обратно в «OPEN»). У меня возникают проблемы с тем, чтобы это произошло, поскольку я не слишком хорош с Timer (s?), Который имеет Java. Я пытался что-то вроде этого:Обратный отсчет Java gui
Timer timer = new Timer(1000, new ActionListener() {
@Override
public void actionPerformed(ActionEvent e)
{
//change label text/color, decrement countdown
panel.repaint();
Thread.sleep(1000);
}
});
Но я не могу достичь количество секунд, чтобы отсчитывать от внутри таймера, и я не знаю, как передать это значение таймера. Если кто-то может мне помочь, я бы очень признателен.
Я сделал это, и обратный отсчет GUI часть работает, но когда я пытаюсь получить работник, чтобы остановить в то время как обратный отсчет происходит (вызывая сон (1000) для второй счет), обратный отсчет не происходит, пока мой рабочий не уйдет. Таким образом, рабочий идет на станцию, останавливается на 3 секунды, а когда он уходит, отсчет начинается сверху станции. Любая идея, как я могу это исправить? – user3622688
Извините, не знаю, о чем вы говорите. Для лучшей помощи отправьте [минимальный, полный и проверенный пример] (http://stackoverflow.com/help/mcve) –