Я разрабатываю симуляцию очередей, используя таймер Swing для удаления объектов через определенные промежутки времени. Интервал определяется просмотром следующего объекта в очереди, получением от него целого числа и установкой задержки его соответствующего таймера.Изменение задержки таймера поворота во время выполнения
Вот соответствующий отрывок из программы (Примечание: _SECONDS_PER_ITEM
это константа, определенная в другом месте 2000
):
// stop the timer
qTimer[q].stop();
// peek at how many items the customer has, and set the delay.
qTimer[q].setDelay(customerQueue[q].peek().getItems()*_SECONDS_PER_ITEM);
// the next time around, this method will see the flag, and dequeue the customer.
working[q] = true;
// denote that the customer is active on the UI.
lblCustomer[q][0].setBorder(new LineBorder(Color.RED, 2));
// start the timer.
qTimer[q].start();
У меня есть проблема в том, что каждый клиент, независимо от того, сколько предметов у них есть, не обрабатывается через одну секунду.
Есть ли какой-либо другой метод или метод, который я должен использовать, чтобы установить задержку?