public class Timer extends Object implements Serializable
ActionEvents в указанных интервалах. Использование в качестве примера является объектом анимации, который использует a Timer как триггер для рисования его фреймов. Установка таймера включает создание a Timer объект, регистрируя одного или более слушателей действия на этом, и запуская таймер, используя start метод. Например, следующий код создает и запускает таймер, который запускает событие действия однажды в секунду (как определено первым параметром Timer конструктор). Второй параметр Timer конструктор определяет слушателя, чтобы получить события действия таймера.
int delay = 1000; //milliseconds
ActionListener taskPerformer = new ActionListener() {
public void actionPerformed(ActionEvent evt) {
//...Perform a task...
}
};
new Timer(delay, taskPerformer).start();
Timers создаются, определяя и параметр задержки и ActionListener. Параметр задержки используется, чтобы установить и начальную задержку и задержку между увольнением события в миллисекундах. Как только таймер был запущен, он ожидает начальной задержки прежде, чем запустить его первое ActionEvent зарегистрированным слушателям. После этого первого события это продолжает запускать события каждый раз, когда задержка между событиями протекла, пока это не останавливается.
После конструкции начальная задержка и задержка между событиями могут быть изменены независимо, и дополнительные ActionListeners может быть добавлен.
Если Вы хотите, чтобы таймер стрелял только в первый раз и затем остановился, вызвать setRepeats(false) на таймере.
Хотя все Timers выполняют свое ожидающее использование единственного, совместно используемого потока (создаваемый первым Timer объект, который выполняется), обработчики событий действия для Timers выполняются на другом потоке - диспетчеризирующий событие поток. Это означает что обработчики действия для Timers может безопасно выполнить операции на компонентах Swing. Однако, это также означает, что обработчики должны выполниться быстро, чтобы сохранить GUI быстро реагирующим.
В v 1.3, другом Timer class был добавлен к платформе Java: java.util.Timer. И это и javax.swing.Timer обеспечьте ту же самую основную функциональность, но java.util.Timer является более общим и имеет больше функций. javax.swing.Timer имеет две функции, которые могут сделать немного легче использовать с GUI. Во-первых, его метафора обработки событий знакома программистам GUI и может сделать контакт с диспетчеризирующим событие потоком немного более простым. Во-вторых, его автоматическое совместное использование потока означает, что Вы не должны сделать специальные шаги, чтобы избежать порождать слишком много потоков. Вместо этого Ваш таймер использует тот же самый поток, используемый, чтобы заставить курсоры мигнуть, подсказки появляются и так далее.
Можно найти дальнейшую документацию и несколько примеров использования таймеров, посещая, раздел в Учебном руководстве по Java. Для большего количества примеров и справки в выборе между этим Timer class и java.util.Timer, см. , статью в Соединении Swing.
Предупреждение: Сериализированные объекты этого class не будут совместимыми с будущими выпусками Swing. Текущая поддержка сериализации является подходящей для краткосрочного хранения или RMI между приложениями, выполняющими ту же самую версию Swing. С 1.4, поддержка длительного хранения всего JavaBeansTM была добавлена к java.beans пакет. Пожалуйста, см. XMLEncoder.
java.util.Timer| Модификатор и Тип | Поле и Описание |
|---|---|
protected EventListenerList |
listenerList |
| Конструктор и Описание |
|---|
Timer(int delay, ActionListener listener)
Создает a
Timer и инициализирует и начальную задержку и задержку между событиями к delay миллисекунды. |
| Модификатор и Тип | Метод и Описание |
|---|---|
void |
addActionListener(ActionListener listener)
Добавляет слушатель действия
Timer. |
protected void |
fireActionPerformed(ActionEvent e)
Уведомляет всех слушателей, которые зарегистрировали интерес для уведомления на этом типе события.
|
Строка |
getActionCommand()
Возвращает строку, которая будет поставлена как команда действия в
ActionEvents запущенный этим таймером. |
ActionListener[] |
getActionListeners()
Возвращает массив всех слушателей действия, зарегистрированных на этом таймере.
|
int |
getDelay()
Возвращает задержку, в миллисекундах, между взрывами событий действия.
|
int |
getInitialDelay()
Возвраты
Timer's начальная задержка. |
<T extends EventListener> |
getListeners(Class<T> listenerType)
Возвращает массив всех объектов, в настоящий момент зарегистрированных как
FooListeners на это Timer. |
static boolean |
getLogTimers()
Возвраты
true если журналирование включается. |
boolean |
isCoalesce()
Возвраты
true если Timer объединяет многократные события действия на ожидании. |
boolean |
isRepeats()
Возвраты
true (значение по умолчанию), если Timer отправит событие действия его слушателям многократно. |
boolean |
isRunning()
Возвраты
true если Timer работает. |
void |
removeActionListener(ActionListener listener)
Удаляет указанного слушателя действия из
Timer. |
void |
restart()
Перезапуски
Timer, отмена любых взрывов на ожидании и то, чтобы заставлять это стрелять с его начальной задержкой. |
void |
setActionCommand(String command)
Устанавливает строку, которая будет поставлена как команда действия в
ActionEvents запущенный этим таймером. |
void |
setCoalesce(boolean flag)
Наборы, ли
Timer объединяет многократное ожидание ActionEvent взрывы. |
void |
setDelay(int delay)
Наборы
Timer's между событиями задерживаются, число миллисекунд между последовательными событиями действия. |
void |
setInitialDelay(int initialDelay)
Наборы
Timer's начальная задержка, время в миллисекундах, чтобы ожидать после того, как таймер запускается прежде, чем запустить первое событие. |
static void |
setLogTimers(boolean flag)
Включает или отключает журнал таймера.
|
void |
setRepeats(boolean flag)
Если
flag false, сообщает Timer отправить только одно событие действия его слушателям. |
void |
start()
Запускается
Timer, то, чтобы заставлять это начать отправлять события действия его слушателям. |
void |
stop()
Остановки
Timer, то, чтобы заставлять это прекратить отправлять события действия его слушателям. |
protected EventListenerList listenerList
public Timer(int delay,
ActionListener listener)
Timer и инициализирует и начальную задержку и задержку между событиями к delay миллисекунды. Если delay меньше чем или равно нулю, огни таймера, как только он запускается. Если listener не null, это регистрируется как слушатель действия на таймере.delay - миллисекунды для начальной и задержки между событиямиlistener - начальный слушатель; может быть nulladdActionListener(java.awt.event.ActionListener), setInitialDelay(int), setRepeats(boolean)public void addActionListener(ActionListener listener)
Timer.listener - слушатель, чтобы добавитьTimer(int, java.awt.event.ActionListener)public void removeActionListener(ActionListener listener)
Timer.listener - слушатель, чтобы удалитьpublic ActionListener[] getActionListeners()
ActionListeners или пустой массив, если никакие слушатели действия в настоящий момент не регистрируютсяaddActionListener(java.awt.event.ActionListener), removeActionListener(java.awt.event.ActionListener)protected void fireActionPerformed(ActionEvent e)
e - событие действия, чтобы стрелятьEventListenerListpublic <T extends EventListener> T[] getListeners(Class<T> listenerType)
FooListeners на это Timer. FooListeners регистрируются, используя addFooListener метод. Можно определить listenerType параметр с литералом class, такой как FooListener.class. Например, можно запросить a Timer экземпляр t для его слушателей действия со следующим кодом:
ActionListener[] als = (ActionListener[])(t.getListeners(ActionListener.class));Если никакие такие слушатели не существуют, этот метод возвращает пустой массив.
listenerType - тип слушателей требуют; этот параметр должен определить интерфейс, который убывает от java.util.EventListenerFooListeners на этом таймере, или пустом массиве, если никакие такие слушатели не были добавленыClassCastException - если listenerType не определяет class или интерфейс, который реализует java.util.EventListenergetActionListeners(), addActionListener(java.awt.event.ActionListener), removeActionListener(java.awt.event.ActionListener)public static void setLogTimers(boolean flag)
System.out всякий раз, когда таймер уходит.flag - true позволять регистрироватьgetLogTimers()public static boolean getLogTimers()
true если журналирование включается.true если журналирование включается; иначе, ложьsetLogTimers(boolean)public void setDelay(int delay)
Timer's между событиями задерживаются, число миллисекунд между последовательными событиями действия. Это не влияет на начальное свойство задержки, которое может быть установлено setInitialDelay метод.delay - задержка миллисекундsetInitialDelay(int)public int getDelay()
setDelay(int), getInitialDelay()public void setInitialDelay(int initialDelay)
Timer's начальная задержка, время в миллисекундах, чтобы ожидать после того, как таймер запускается прежде, чем запустить первое событие. На конструкцию это устанавливается быть тем же самым как задержкой между событиями, но тогда ее значение независимо и остается незатронутым изменениями к задержке между событиями.initialDelay - начальная задержка, в миллисекундахsetDelay(int)public int getInitialDelay()
Timer's начальная задержка.setInitialDelay(int), setDelay(int)public void setRepeats(boolean flag)
flag false, сообщает Timer отправить только одно событие действия его слушателям.flag - определить false заставить таймер остановиться после отправки его первого события действияpublic boolean isRepeats()
true (значение по умолчанию), если Timer отправит событие действия его слушателям многократно.setRepeats(boolean)public void setCoalesce(boolean flag)
Timer объединяет многократное ожидание ActionEvent взрывы. Занятое приложение, возможно, не в состоянии не отставать от a Timer's генерация события, заставляя многократные события действия быть поставленным в очередь. Когда обработано, приложение отправляет эти события один за другим, вызывая Timer's слушатели, чтобы получить последовательность событий без задержки между ними. Объединение избегает этой ситуации, уменьшая многократные события на ожидании до единственного события. Timers объединяют события по умолчанию.flag - определить false выключить объединениеpublic boolean isCoalesce()
true если Timer объединяет многократные события действия на ожидании.setCoalesce(boolean)public void setActionCommand(String command)
ActionEvents запущенный этим таймером. null приемлемое значение.command - команда действияpublic String getActionCommand()
ActionEvents запущенный этим таймером. Может быть null, который является также значением по умолчанию.public void start()
Timer, то, чтобы заставлять это начать отправлять события действия его слушателям.stop()public boolean isRunning()
true если Timer работает.start()public void stop()
Timer, то, чтобы заставлять это прекратить отправлять события действия его слушателям.start()public void restart()
Timer, отмена любых взрывов на ожидании и то, чтобы заставлять это стрелять с его начальной задержкой.
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92