Класс TrayIcon
- java.lang.Object
-
- java.awt.TrayIcon
public class TrayIcon extends Object
Объект TrayIcon представляет собой значок, который можно добавить в system tray. TrayIcon может иметь всплывающую подсказку (текст), изображение, всплывающее меню и набор слушателей, связанных с ним.
TrayIcon может генерировать различные MouseEvents и поддерживает добавление соответствующих слушателей для получения уведомлений об этих событиях. TrayIcon обрабатывает некоторые события самостоятельно. Например, по умолчанию, при щелчке правой кнопкой мыши по TrayIcon отображается указанное всплывающее меню. При наведении курсора на TrayIcon отображается всплывающая подсказка (это поведение зависит от платформы).
Примечание: При отправке MouseEvent зарегистрированным слушателям его свойство component будет установлено в значение null. (См. ComponentEvent.getComponent()) Свойство source будет установлено в значение этого TrayIcon. (См. EventObject.getSource())
Примечание: Хорошо спроектированная реализация TrayIcon будет назначать разные действия для отображения всплывающего меню и выбора значка в области задач.
TrayIcon может генерировать ActionEvent. На некоторых платформах это происходит, когда пользователь выбирает значок в области задач с помощью мыши или клавиатуры.
Если установлен SecurityManager, необходимо предоставить разрешение AWTPermission accessSystemTray для создания TrayIcon. В противном случае конструктор выбросит SecurityException.
См. обзор класса SystemTray для примера использования API TrayIcon.
- Since:
- 1.6
- См. также:
-
SystemTray.add(java.awt.TrayIcon),ComponentEvent.getComponent(),EventObject.getSource()
Краткое описание вложенных классов
| Модификатор и тип | Класс | Описание |
|---|---|---|
static class | TrayIcon.MessageType | Тип сообщения определяет, какой значок будет отображаться в заголовке сообщения, а также возможный системный звук, который сообщение может воспроизвести при отображении. |
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
TrayIcon(Image image) | Создает |
TrayIcon(Image image,
String tooltip) | Создает |
TrayIcon(Image image,
String tooltip,
PopupMenu popup) | Создает |
Методы
| Модификатор и тип | Метод | Описание |
|---|---|---|
void | addActionListener(ActionListener listener) | Добавляет указанный обработчик событий для получения |
void | addMouseListener(MouseListener listener) | Добавляет указанный обработчик событий мыши для получения событий мыши от этого |
void | addMouseMotionListener(MouseMotionListener listener) | Добавляет указанный обработчик событий мыши для получения событий движения мыши от этого |
void | displayMessage(String caption,
String text,
TrayIcon.MessageType messageType) | Отображает всплывающее сообщение рядом с значком системного лотка. |
String | getActionCommand() | Возвращает имя команды события действия, сгенерированного этим значком системного лотка. |
ActionListener[] | getActionListeners() | Возвращает массив всех зарегистрированных обработчиков событий действия для этого |
Image | getImage() | Возвращает текущее изображение, используемое для этого |
MouseListener[] | getMouseListeners() | Возвращает массив всех зарегистрированных обработчиков событий мыши для этого |
MouseMotionListener[] | getMouseMotionListeners() | Возвращает массив всех зарегистрированных обработчиков событий движения мыши для этого |
PopupMenu | getPopupMenu() | Возвращает контекстное меню, связанное с этим |
Dimension | getSize() | Возвращает размер, в пикселях, занимаемый значком системного лотка. |
String | getToolTip() | Возвращает строку всплывающей подсказки, связанную с этим |
boolean | isImageAutoSize() | Возвращает значение свойства автоматического размера. |
void | removeActionListener(ActionListener listener) | Удаляет указанный обработчик событий действия. |
void | removeMouseListener(MouseListener listener) | Удаляет указанный обработчик событий мыши. |
void | removeMouseMotionListener(MouseMotionListener listener) | Удаляет указанный обработчик событий движения мыши. |
void | setActionCommand(String command) | Устанавливает имя команды для события действия, генерируемого этим значком системного лотка. |
void | setImage(Image image) | Устанавливает изображение для этого |
void | setImageAutoSize(boolean autosize) | Устанавливает свойство автоматического размера. |
void | setPopupMenu(PopupMenu popup) | Устанавливает контекстное меню для этого |
void | setToolTip(String tooltip) | Устанавливает строку всплывающей подсказки для этого |
Методы, объявленные в классе java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait Конструкторы
TrayIcon
public TrayIcon(Image image)
Создаёт TrayIcon с указанным изображением.
- Параметры:
-
image- используемоеImage - Исключения:
-
IllegalArgumentException- еслиimageявляетсяnull -
UnsupportedOperationException- если системный лоток не поддерживается текущей платформой -
HeadlessException- еслиGraphicsEnvironment.isHeadless()возвращаетtrue -
SecurityException- если разрешение наaccessSystemTrayне предоставлено - См. также:
-
SystemTray.add(TrayIcon),TrayIcon(Image, String, PopupMenu),TrayIcon(Image, String),SecurityManager.checkPermission(java.security.Permission),AWTPermission
TrayIcon
public TrayIcon(Image image,
String tooltip) Создаёт TrayIcon с указанным изображением и текстом всплывающей подсказки. Всплывающая подсказка может быть не видна на некоторых платформах.
- Параметры:
-
image- используемоеImage -
tooltip- строка, используемая в качестве текста всплывающей подсказки; если значение равноnull, подсказка не отображается - Исключения:
-
IllegalArgumentException- еслиimageявляетсяnull -
UnsupportedOperationException- если системный лоток не поддерживается текущей платформой -
HeadlessException- еслиGraphicsEnvironment.isHeadless()возвращаетtrue -
SecurityException- если разрешение наaccessSystemTrayне предоставлено - См. также:
-
SystemTray.add(TrayIcon),TrayIcon(Image),TrayIcon(Image, String, PopupMenu),SecurityManager.checkPermission(java.security.Permission),AWTPermission
TrayIcon
public TrayIcon(Image image,
String tooltip,
PopupMenu popup) Создаёт TrayIcon с указанным изображением, всплывающей подсказкой и контекстным меню. Всплывающая подсказка может быть не видна на некоторых платформах.
- Параметры:
-
image- используемоеImage -
tooltip- строка, используемая в качестве текста всплывающей подсказки; если значение равноnull, подсказка не отображается -
popup- меню, используемое для контекстного меню значка лотка; если значение равноnull, контекстное меню не отображается - Исключения:
-
IllegalArgumentException- еслиimageявляетсяnull -
UnsupportedOperationException- если системный лоток не поддерживается текущей платформой -
HeadlessException- еслиGraphicsEnvironment.isHeadless()возвращаетtrue -
SecurityException- если разрешение наaccessSystemTrayне предоставлено - См. также:
-
SystemTray.add(TrayIcon),TrayIcon(Image, String),TrayIcon(Image),PopupMenu,MouseListener,addMouseListener(MouseListener),SecurityManager.checkPermission(java.security.Permission),AWTPermission
Методы
setImage
public void setImage(Image image)
Устанавливает изображение для этого TrayIcon. Предыдущее изображение значка лотка игнорируется, без вызова метода Image.flush() — вам необходимо вызвать его вручную.
Если изображение представляет собой анимированное изображение, оно будет автоматически анимироваться.
См. свойство setImageAutoSize(boolean) для получения подробной информации о размере отображаемого изображения.
Вызов этого метода с тем же изображением, которое в настоящее время используется, не оказывает никакого эффекта.
- Параметры:
-
image- непустоеImageдля использования - Исключения:
-
NullPointerException- еслиimageявляетсяnull - См. также:
-
getImage(),Image,SystemTray.add(TrayIcon),TrayIcon(Image, String)
getImage
public Image getImage()
Возвращает текущее изображение, используемое для этого TrayIcon.
- Возвращает:
- изображение
- См. также:
-
setImage(Image),Image
setPopupMenu
public void setPopupMenu(PopupMenu popup)
Устанавливает всплывающее меню для этого TrayIcon. Если popup равно null, с этим TrayIcon не будет связан ни один всплывающий элемент.
Обратите внимание, что это popup не должно быть добавлено к какому-либо родительскому элементу до или после того, как оно будет установлено в значке лотка. Если вы добавите его к какому-либо родителю, popup может быть удалено из этого родителя.
popup может быть установлено только на одном TrayIcon. Установка одного и того же всплывающего меню на нескольких TrayIcon приведет к IllegalArgumentException.
Примечание: Некоторые платформы могут не поддерживать отображение указанного пользователем компонента всплывающего меню, когда пользователь щелкает правой кнопкой мыши значок лотка. В этой ситуации либо меню не будет отображаться, либо на некоторых системах может быть отображена собственная версия меню.
- Параметры:
-
popup-PopupMenuилиnullдля удаления любого всплывающего меню - Исключения:
-
IllegalArgumentException- еслиpopupуже установлено для другогоTrayIcon - См. также:
getPopupMenu()
getPopupMenu
public PopupMenu getPopupMenu()
Возвращает всплывающее меню, связанное с этим TrayIcon.
- Возвращает:
- всплывающее меню или
nullесли такового нет - См. также:
setPopupMenu(PopupMenu)
setToolTip
public void setToolTip(String tooltip)
Устанавливает строку подсказки для этого TrayIcon. Подсказка отображается автоматически при наведении курсора мыши на значок. Подсказка может быть не видна на некоторых платформах. Установка подсказки в null удаляет любой текст подсказки. При отображении строка подсказки может быть усечена на некоторых платформах; количество символов, которые могут быть отображены, зависит от платформы.
- Параметры:
-
tooltip- строка для подсказки; если значение равноnull, подсказка не отображается - См. также:
getToolTip()
getToolTip
public String getToolTip()
Возвращает строку подсказки, связанную с этим TrayIcon.
- Возвращает:
- строку подсказки или
nullесли таковой нет - См. также:
setToolTip(String)
setImageAutoSize
public void setImageAutoSize(boolean autosize)
Устанавливает свойство автоматического изменения размера. Автоматическое изменение размера определяет, будет ли размер изображения лотка автоматически подстраиваться под выделенное для него место в лотке. По умолчанию свойство автоматического изменения размера установлено в false.
Если автоматический размер равен false, а размер изображения не соответствует месту значка лотка, изображение рисуется таким, как есть, внутри этого места — если оно больше выделенного места, оно будет обрезано.
Если автоматический размер равен true, изображение масштабируется или уменьшается для соответствия месту значка лотка.
- Параметры:
-
autosize-trueдля автоматического изменения размера изображения,falseв противном случае - См. также:
isImageAutoSize()
isImageAutoSize
public boolean isImageAutoSize()
Возвращает значение свойства автоматического изменения размера.
- Возвращает:
-
trueесли изображение будет автоматически изменят размер,falseв противном случае - См. также:
setImageAutoSize(boolean)
addMouseListener
public void addMouseListener(MouseListener listener)
Добавляет указанный обработчик событий мыши для получения событий мыши от этого TrayIcon. Вызов этого метода со значением null не имеет эффекта.
Примечание: Координаты MouseEvent (полученные от TrayIcon) относительны к экрану, а не к TrayIcon.
Примечание: События мыши MOUSE_ENTERED и MOUSE_EXITED не поддерживаются.
Обратитесь к Проблемам потоковой обработки AWT для получения подробной информации о модели потоков AWT.
- Parameters:
-
listener- обработчик событий мыши - See Also:
-
MouseEvent,MouseListener,removeMouseListener(MouseListener),getMouseListeners()
removeMouseListener
public void removeMouseListener(MouseListener listener)
Удаляет указанный обработчик событий мыши. Вызов этого метода со значением null или некорректным значением не имеет эффекта.
Обратитесь к Проблемам потоковой обработки AWT для получения подробной информации о модели потоков AWT.
- Parameters:
-
listener- обработчик событий мыши - See Also:
-
MouseEvent,MouseListener,addMouseListener(MouseListener),getMouseListeners()
getMouseListeners
public MouseListener[] getMouseListeners()
Возвращает массив всех обработчиков событий мыши, зарегистрированных в этом TrayIcon.
- Returns:
- все зарегистрированные
MouseListenersв этомTrayIconили пустой массив, если обработчики событий мыши не зарегистрированы - See Also:
-
addMouseListener(MouseListener),removeMouseListener(MouseListener),MouseListener
addMouseMotionListener
public void addMouseMotionListener(MouseMotionListener listener)
Добавляет указанный обработчик событий движения мыши для получения событий движения мыши от этого TrayIcon. Вызов этого метода со значением null не имеет эффекта.
Примечание: Координаты MouseEvent (полученные от TrayIcon) относительны к экрану, а не к TrayIcon.
Примечание: Событие мыши MOUSE_DRAGGED не поддерживается.
Обратитесь к Проблемам потоковой обработки AWT для получения подробной информации о модели потоков AWT.
- Parameters:
-
listener- обработчик событий движения мыши - See Also:
-
MouseEvent,MouseMotionListener,removeMouseMotionListener(MouseMotionListener),getMouseMotionListeners()
removeMouseMotionListener
public void removeMouseMotionListener(MouseMotionListener listener)
Удаляет указанный обработчик событий движения мыши. Вызов этого метода со значением null или некорректным значением не имеет эффекта.
Обратитесь к Проблемам потоковой обработки AWT для получения подробной информации о модели потоков AWT.
- Parameters:
-
listener- обработчик событий движения мыши - See Also:
-
MouseEvent,MouseMotionListener,addMouseMotionListener(MouseMotionListener),getMouseMotionListeners()
getMouseMotionListeners
public MouseMotionListener[] getMouseMotionListeners()
Возвращает массив всех обработчиков событий движения мыши, зарегистрированных в этом TrayIcon.
- Returns:
- все зарегистрированные
MouseInputListenersв этомTrayIconили пустой массив, если обработчики событий мыши не зарегистрированы - See Also:
-
addMouseMotionListener(MouseMotionListener),removeMouseMotionListener(MouseMotionListener),MouseMotionListener
getActionCommand
public String getActionCommand()
Возвращает имя команды события действия, сгенерированного этим значком системного трея.
- Returns:
- имя команды действия или
nullесли оно отсутствует - See Also:
-
addActionListener(ActionListener),setActionCommand(String)
setActionCommand
public void setActionCommand(String command)
Устанавливает имя команды для события действия, генерируемого этим значком панели задач. По умолчанию эта команда действия установлена в null.
- Параметры:
-
command- строка, используемая для установки команды действия значка панели задач. - См. также:
-
ActionEvent,addActionListener(ActionListener),getActionCommand()
addActionListener
public void addActionListener(ActionListener listener)
Добавляет указанного обработчика событий действия для получения событий действия от этого значка панели задач. События действия обычно возникают при выборе пользователем значка панели задач с помощью мыши или клавиатуры. Условия, при которых генерируются события действия, зависят от платформы.
Вызов этого метода со значением null не имеет эффекта.
Для получения подробной информации о модели потоков AWT см. Вопросы многопоточности AWT.
- Параметры:
-
listener- обработчик событий действия - См. также:
-
removeActionListener(java.awt.event.ActionListener),getActionListeners(),ActionListener,setActionCommand(String)
removeActionListener
public void removeActionListener(ActionListener listener)
Удаляет указанного обработчика событий действия. Вызов этого метода со значением null или недействительным значением не имеет эффекта.
Для получения подробной информации о модели потоков AWT см. Вопросы многопоточности AWT.
- Параметры:
-
listener- обработчик событий действия - См. также:
-
ActionEvent,ActionListener,addActionListener(ActionListener),getActionListeners(),setActionCommand(String)
getActionListeners
public ActionListener[] getActionListeners()
Возвращает массив всех обработчиков событий действия, зарегистрированных на этом значке панели задач.
- Возвращает:
- все зарегистрированные обработчики событий действия на этом значке панели задач или пустой массив, если обработчики событий действия в настоящее время не зарегистрированы
- См. также:
-
addActionListener(ActionListener),removeActionListener(ActionListener),ActionListener
displayMessage
public void displayMessage(String caption,
String text,
TrayIcon.MessageType messageType) Отображает всплывающее сообщение рядом со значком панели задач. Сообщение исчезнет после определенного времени или если пользователь щелкнет по нему. Щелчок по сообщению может вызвать ActionEvent.
Заголовок или текст могут быть пустыми, но будет выброшено исключение NullPointerException, если оба являются пустыми. При отображении строки заголовка или текста могут быть усечены на некоторых платформах; количество отображаемых символов зависит от платформы.
Примечание: Некоторые платформы могут не поддерживать отображение сообщения.
- Параметры:
-
caption- заголовок, отображаемый над текстом, обычно в жирном шрифте; может быть пустым -
text- текст, отображаемый для конкретного сообщения; может быть пустым -
messageType- перечисление, указывающее тип сообщения - Исключения:
-
NullPointerException- если обаcaptionиtextпусты
getSize
public Dimension getSize()
Возвращает размер, в пикселях, занимаемого значком панели задач пространства в области уведомлений. Для значка панели задач, который еще не добавлен в область уведомлений, возвращаемый размер равен результату вызова SystemTray.getTrayIconSize().
- Возвращает:
- размер значка панели задач в пикселях
- См. также:
-
setImageAutoSize(boolean),Image,getSize()
© 1993, 2020, Oracle and/or its affiliates. All rights reserved.
Documentation extracted from Debian's OpenJDK Development Kit package.
Licensed under the GNU General Public License, version 2, with the Classpath Exception.
Various third party code in OpenJDK is licensed under different licenses (see Debian package).
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
https://docs.oracle.com/en/java/javase/11/docs/api/java.desktop/java/awt/TrayIcon.html