Класс 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. На некоторых платформах это происходит, когда пользователь выбирает значок в системном лотке с помощью мыши или клавиатуры.
Обзор класса SystemTray содержит пример использования API TrayIcon.
- Примечание по реализации:
- Если задано свойство
apple.awt.enableTemplateImages, все изображения, связанные с экземплярами этого класса, рассматриваются встроенной системой рабочего стола как шаблонные изображения. Это означает, что вся информация о цвете отбрасывается, а изображение автоматически адаптируется для отображения при изменении темы и/или цветов рабочего стола. Это свойство влияет только на MacOSX. - С версии:
- 1.6
- См. также:
Краткое описание вложенных классов
| Модификатор и тип | Класс | Описание |
|---|---|---|
static enum |
TrayIcon.MessageType |
Тип сообщения определяет, какой значок будет отображаться в заголовке сообщения, а также возможный системный звук, который может сопровождать показ сообщения. |
Краткое описание конструкторов
| Конструктор | Описание |
|---|---|
TrayIcon |
Создает TrayIcon с указанным изображением. |
TrayIcon |
Создает TrayIcon с указанным изображением и текстом всплывающей подсказки. |
TrayIcon |
Создает TrayIcon с указанным изображением, всплывающей подсказкой и всплывающим меню. |
Краткое описание методов
| Модификатор и тип | Метод | Описание |
|---|---|---|
void |
addActionListener |
Добавляет указанный слушатель действий для получения событий ActionEvent от этого TrayIcon. |
void |
addMouseListener |
Добавляет указанный слушатель мыши для получения событий мыши от этого TrayIcon. |
void |
addMouseMotionListener |
Добавляет указанный слушатель мыши для получения событий перемещения мыши от этого TrayIcon. |
void |
displayMessage |
Отображает всплывающее сообщение рядом со значком в системном лотке. |
String |
getActionCommand() |
Возвращает имя команды для события действия, инициированного этим значком в системном лотке. |
ActionListener[] |
getActionListeners() |
Возвращает массив всех слушателей действий, зарегистрированных для этого TrayIcon. |
Image |
getImage() |
Возвращает текущее изображение, используемое для этого TrayIcon. |
MouseListener[] |
getMouseListeners() |
Возвращает массив всех слушателей мыши, зарегистрированных для этого TrayIcon. |
MouseMotionListener[] |
getMouseMotionListeners() |
Возвращает массив всех слушателей перемещения мыши, зарегистрированных для этого TrayIcon. |
PopupMenu |
getPopupMenu() |
Возвращает всплывающее меню, связанное с этим TrayIcon. |
Dimension |
getSize() |
Возвращает размер в пикселях пространства, занимаемого значком в системном лотке. |
String |
getToolTip() |
Возвращает строку всплывающей подсказки, связанную с этим TrayIcon. |
boolean |
isImageAutoSize() |
Возвращает значение свойства автоматического изменения размера. |
void |
removeActionListener |
Удаляет указанный слушатель действий. |
void |
removeMouseListener |
Удаляет указанный слушатель мыши. |
void |
removeMouseMotionListener |
Удаляет указанный слушатель перемещения мыши. |
void |
setActionCommand |
Задает имя команды для события действия, инициированного этим значком в системном лотке. |
void |
setImage |
Задает изображение для этого TrayIcon. |
void |
setImageAutoSize |
Задает свойство автоматического изменения размера. |
void |
setPopupMenu |
Задает всплывающее меню для этого TrayIcon. |
void |
setToolTip |
Задает строку всплывающей подсказки для этого TrayIcon. |
Подробное описание конструкторов
TrayIcon
public TrayIcon(Image image)
TrayIcon с указанным изображением.- Параметры:
-
image—Image, которое будет использоваться - Исключения:
-
IllegalArgumentException— еслиimageравноnull -
UnsupportedOperationException— если системный трей не поддерживается текущей платформой -
HeadlessException— еслиGraphicsEnvironment.isHeadless()возвращаетtrue - См. также:
TrayIcon
public TrayIcon(Image image, String tooltip)
TrayIcon с указанным изображением и текстом всплывающей подсказки. На некоторых платформах всплывающая подсказка может быть невидимой.- Параметры:
-
image—Image, которое будет использоваться -
tooltip— строка, используемая в качестве текста всплывающей подсказки; если значение равноnull, подсказка не отображается - Исключения:
-
IllegalArgumentException— еслиimageравноnull -
UnsupportedOperationException— если системный трей не поддерживается текущей платформой -
HeadlessException— еслиGraphicsEnvironment.isHeadless()возвращаетtrue - См. также:
TrayIcon
public TrayIcon(Image image, String tooltip, PopupMenu popup)
TrayIcon с указанными изображением, всплывающей подсказкой и всплывающим меню. На некоторых платформах всплывающая подсказка может быть невидимой.- Параметры:
-
image—Image, которое будет использоваться -
tooltip— строка, используемая в качестве текста всплывающей подсказки; если значение равноnull, подсказка не отображается -
popup— меню, используемое как всплывающее меню значка в системном трее; если значение равноnull, всплывающее меню не отображается - Исключения:
-
IllegalArgumentException— еслиimageравноnull -
UnsupportedOperationException— если системный трей не поддерживается текущей платформой -
HeadlessException— еслиGraphicsEnvironment.isHeadless()возвращаетtrue - См. также:
Подробное описание методов
setImage
public void setImage(Image image)
TrayIcon. Предыдущее изображение значка в системном трее отбрасывается без вызова метода Image.flush() — его необходимо вызвать вручную. Если изображение является анимированным, оно будет анимироваться автоматически.
Подробнее о размере отображаемого изображения см. в описании свойства setImageAutoSize(boolean).
Вызов этого метода с тем же изображением, которое используется в данный момент, не оказывает никакого эффекта.
- Параметры:
-
image— используемое ненулевоеImage - Исключения:
-
NullPointerException— еслиimageравноnull - См. также:
getImage
public Image getImage()
TrayIcon.- Возвращает:
- изображение
- См. также:
setPopupMenu
public void setPopupMenu(PopupMenu popup)
TrayIcon. Если popup равно null, с этим TrayIcon не будет связано всплывающее меню. Обратите внимание: этот popup нельзя добавлять к какому-либо родительскому элементу до или после его назначения значку в системном трее. Если добавить его к родительскому элементу, popup может быть удалён из этого родительского элемента.
popup можно назначить только одному TrayIcon. Назначение одного и того же всплывающего меню нескольким TrayIcon приведёт к IllegalArgumentException.
Примечание: Некоторые платформы могут не поддерживать отображение заданного пользователем компонента всплывающего меню при щелчке правой кнопкой мыши по значку в системном трее. В этом случае меню либо не отображается, либо в некоторых системах отображается его встроенная версия.
- Параметры:
-
popup—PopupMenuилиnullдля удаления всплывающего меню - Исключения:
-
IllegalArgumentException— еслиpopupуже назначено другомуTrayIcon - См. также:
getPopupMenu
public PopupMenu getPopupMenu()
TrayIcon.- Возвращает:
- всплывающее меню или
null, если меню отсутствует - См. также:
setToolTip
public void setToolTip(String tooltip)
TrayIcon. Подсказка автоматически отображается, когда указатель мыши находится над значком. На некоторых платформах всплывающая подсказка может быть невидимой. Установка значения null удаляет текст подсказки. При отображении текст подсказки может быть усечён на некоторых платформах; допустимое количество отображаемых символов зависит от платформы.- Параметры:
-
tooltip— строка для всплывающей подсказки; если значение равноnull, подсказка не отображается - См. также:
getToolTip
public String getToolTip()
TrayIcon.- Возвращает:
- текст всплывающей подсказки или
null, если подсказка отсутствует - См. также:
setImageAutoSize
public void setImageAutoSize(boolean autosize)
false. Если автоматическое изменение размера имеет значение false, а размер изображения не соответствует пространству значка в системном трее, изображение выводится без изменений внутри этого пространства — если оно больше выделенной области, изображение будет обрезано.
Если автоматическое изменение размера имеет значение true, изображение растягивается или сжимается, чтобы соответствовать пространству значка в системном трее.
- Параметры:
-
autosize—trueдля автоматического изменения размера изображения, в противном случаеfalse - См. также:
isImageAutoSize
public boolean isImageAutoSize()
- Возвращает:
-
true, если размер изображения будет изменён автоматически, в противном случаеfalse - См. также:
addMouseListener
public void addMouseListener(MouseListener listener)
TrayIcon. Вызов этого метода со значением null не оказывает никакого эффекта. Примечание: координаты MouseEvent (получаемые из TrayIcon) отсчитываются относительно экрана, а не TrayIcon.
Примечание: События мыши MOUSE_ENTERED и MOUSE_EXITED не поддерживаются.
Сведения о модели многопоточности AWT см. в разделе Проблемы многопоточности AWT.
- Параметры:
-
listener— прослушиватель мыши - См. также:
removeMouseListener
public void removeMouseListener(MouseListener listener)
null или недопустимым значением не оказывает никакого эффекта. Сведения о модели многопоточности AWT см. в разделе Проблемы многопоточности AWT.
- Параметры:
-
listener— прослушиватель мыши - См. также:
getMouseListeners
public MouseListener[] getMouseListeners()
TrayIcon.- Возвращает:
- все
MouseListeners, зарегистрированные для этогоTrayIcon, либо пустой массив, если в данный момент не зарегистрировано ни одного прослушивателя мыши - См. также:
addMouseMotionListener
public void addMouseMotionListener(MouseMotionListener listener)
TrayIcon. Вызов этого метода со значением null не оказывает никакого эффекта. Примечание: координаты MouseEvent (получаемые из TrayIcon) отсчитываются относительно экрана, а не TrayIcon.
Примечание: Событие мыши MOUSE_DRAGGED не поддерживается.
Сведения о модели многопоточности AWT см. в разделе Проблемы многопоточности AWT.
- Параметры:
-
listener— прослушиватель мыши - См. также:
removeMouseMotionListener
public void removeMouseMotionListener(MouseMotionListener listener)
null или недопустимым значением не оказывает никакого эффекта. Сведения о модели многопоточности AWT см. в разделе Проблемы многопоточности AWT.
- Параметры:
-
listener— прослушиватель мыши - См. также:
getMouseMotionListeners
public MouseMotionListener[] getMouseMotionListeners()
TrayIcon.- Возвращает:
- все
MouseInputListeners, зарегистрированные для этогоTrayIcon, либо пустой массив, если в данный момент не зарегистрировано ни одного прослушивателя мыши - См. также:
getActionCommand
public String getActionCommand()
- Возвращает:
- имя команды действия или
null, если оно отсутствует - См. также:
setActionCommand
public void setActionCommand(String command)
null.- Параметры:
-
command— строка, используемая для задания команды действия значка в системном трее. - См. также:
addActionListener
public void addActionListener(ActionListener listener)
ActionEvent от этого TrayIcon. События действий обычно возникают, когда пользователь выбирает значок в системном трее с помощью мыши или клавиатуры. Условия, при которых генерируются события действий, зависят от платформы. Вызов этого метода со значением null не оказывает никакого эффекта.
Сведения о модели многопоточности AWT см. в разделе Проблемы многопоточности AWT.
- Параметры:
-
listener— прослушиватель действий - См. также:
removeActionListener
public void removeActionListener(ActionListener listener)
null или недопустимым значением не оказывает никакого эффекта. Сведения о модели многопоточности AWT см. в разделе Проблемы многопоточности AWT.
- Параметры:
-
listener— прослушиватель действий - См. также:
getActionListeners
public ActionListener[] getActionListeners()
TrayIcon.- Возвращает:
- все
ActionListeners, зарегистрированные для этогоTrayIcon, либо пустой массив, если в данный момент не зарегистрировано ни одного прослушивателя действий - См. также:
displayMessage
public void displayMessage(String caption, String text, TrayIcon.MessageType messageType)
ActionEvent. Заголовок или текст могут иметь значение null, однако если оба имеют значение null, будет выброшено NullPointerException. При отображении заголовок или текст могут быть усечены на некоторых платформах; допустимое количество отображаемых символов зависит от платформы.
Примечание: Некоторые платформы могут не поддерживать отображение сообщений.
- Параметры:
-
caption— заголовок, отображаемый над текстом, обычно полужирным шрифтом; может иметь значениеnull -
text— текст конкретного сообщения; может иметь значениеnull -
messageType— перечисление, указывающее тип сообщения - Исключения:
-
NullPointerException— если иcaption, иtextимеют значениеnull
getSize
public Dimension getSize()
SystemTray.getTrayIconSize().- Возвращает:
- размер значка в системном трее в пикселях
- См. также:
© 1993, 2025, 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/25/docs/api/java.desktop/java/awt/TrayIcon.html