Вы, кажется, не хватает базового понимания того, как работает таймер. Пожалуйста, прочитайте How to Use Swing Timers. Концепция довольно проста.
Первый аргумент в конструкторе Timer
- это delay
. Кажется, у вас есть эта часть. Второй аргумент - ActionListener
, который прослушивает «События таймера» (на самом деле ActionEvents). Событие запускается с задержкой. Обратный вызов (actionPerformed
) содержит то, что должно быть выполнено после этой задержки (отметьте). Итак, что бы вы ни захотели после этой секунды, поставьте его в actionPerformed
таймера ActionListener
.
Также, если вы хотите, чтобы это произошло один раз, вы должны позвонить timer.setRepeats(false);
. Также обратите внимание, что вы используете 10000
, который находится в миллисекундах, так что 10 секунд, а не 1. Вы должны изменить его 1000
Пример потока
JButton button = new JButton("Press Me");
button.addActionListener(new ActionListener(){
@Override
public void actionPerformed(ActionEvent e) {
Timer timer = new Timer(1000, new ActionListener(){
@Override
public void actionPerformed(ActionEvent e) {
System.out.println("Print after one second");
}
});
timer.setRepeats(false);
timer.start();
}
});
Нажмите кнопку → Подождите одну секунду → Заявление о печати
@ ForJava: Если этот ответ помог вам, вы должны помнить о том, чтобы упрекнуть и [принять] (http://stackoverflow.com/help/someone-answe rs) it (Пожалуйста, проверьте ссылку). –