Класс TrayIcon
public class TrayIcon extends Object
TrayIcon представляет собой значок системного трея, который можно добавить в system tray. Объект TrayIcon может иметь подсказку (текст), изображение, всплывающее меню и набор слушателей, связанных с ним. Объект TrayIcon может генерировать различные MouseEvents и поддерживает добавление соответствующих слушателей для получения уведомлений об этих событиях. TrayIcon обрабатывает некоторые события самостоятельно. Например, по умолчанию, при щелчке правой кнопкой мыши на значке TrayIcon отображается указанное всплывающее меню. При наведении курсора мыши на значок TrayIcon отображается подсказка (это поведение зависит от платформы).
Примечание: При отправке события зарегистрированным слушателям его свойство component будет установлено в значение null. (См. ComponentEvent.getComponent()) Свойство source будет установлено в это значение TrayIcon. (См. EventObject.getSource())
Примечание: Правильная реализация класса TrayIcon должна назначать разные жесты для отображения всплывающего меню и выбора значка трея.
Объект TrayIcon может генерировать событие ActionEvent. На некоторых платформах это происходит, когда пользователь выбирает значок трея с помощью мыши или клавиатуры.
Если установлен SecurityManager, то разрешение на создание объекта TrayIcon необходимо предоставить с помощью разрешения AWTPermission accessSystemTray. В противном случае конструктор выбросит исключение SecurityException.
См. обзор класса SystemTray для примера использования API объекта TrayIcon.
- Implementation Note:
- Когда свойство
apple.awt.enableTemplateImagesустановлено, все изображения, связанные с экземплярами этого класса, обрабатываются как шаблонные изображения системой рабочего стола. Это означает, что вся информация о цвете отбрасывается, и изображение автоматически адаптируется для отображения при изменении темы и/или цветов рабочего стола. Это свойство влияет только на MacOSX. - Since:
- 1.6
- See Also:
Краткое описание вложенных классов
| Модификатор и тип | Класс | Описание |
|---|---|---|
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- еслиimagenull -
UnsupportedOperationException- если системный лоток не поддерживается текущей платформой -
HeadlessException- еслиGraphicsEnvironment.isHeadless()возвращаетtrue -
SecurityException- если разрешение наaccessSystemTrayне предоставлено - См. также:
TrayIcon
public TrayIcon(Image image, String tooltip)
TrayIcon с указанным изображением и текстом всплывающей подсказки. Всплывающая подсказка может быть невидимой на некоторых платформах.- Параметры:
-
image- используемоеImage -
tooltip- строка, используемая в качестве текста всплывающей подсказки; если значениеnull, всплывающая подсказка не отображается - Исключения:
-
IllegalArgumentException- еслиimagenull -
UnsupportedOperationException- если системный лоток не поддерживается текущей платформой -
HeadlessException- еслиGraphicsEnvironment.isHeadless()возвращаетtrue -
SecurityException- если разрешение наaccessSystemTrayне предоставлено - См. также:
TrayIcon
public TrayIcon(Image image, String tooltip, PopupMenu popup)
TrayIcon с указанным изображением, всплывающей подсказкой и контекстным меню. Всплывающая подсказка может быть невидимой на некоторых платформах.- Параметры:
-
image- используемоеImage -
tooltip- строка, используемая в качестве текста всплывающей подсказки; если значениеnull, всплывающая подсказка не отображается -
popup- используемое меню для контекстного меню значка лотка; если значениеnull, контекстное меню не отображается - Исключения:
-
IllegalArgumentException- еслиimagenull -
UnsupportedOperationException- если системный лоток не поддерживается текущей платформой -
HeadlessException- еслиGraphicsEnvironment.isHeadless()возвращаетtrue -
SecurityException- если разрешение наaccessSystemTrayне предоставлено - См. также:
Подробное описание методов
setImage
public void setImage(Image image)
TrayIcon. Предыдущее изображение значка лотка удаляется без вызова метода Image.flush() — вам необходимо вызвать его вручную. Если изображение представляет собой анимированное изображение, оно будет анимироваться автоматически.
См. свойство setImageAutoSize(boolean) для получения подробностей о размере отображаемого изображения.
Вызов этого метода с тем же изображением, что и сейчас используется, не имеет эффекта.
- Параметры:
-
image- используемое непустоеImage - Исключения:
-
NullPointerException- еслиimagenull - См. также:
getImage
public Image getImage()
TrayIcon.- Возвращает:
- изображение
- См. также:
setPopupMenu
public void setPopupMenu(PopupMenu popup)
TrayIcon. Если popup null, контекстное меню не будет ассоциировано с этим TrayIcon. Обратите внимание, что этот 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.
- Parameters:
-
listener- обработчик событий мыши - See Also:
removeMouseListener
public void removeMouseListener(MouseListener listener)
null или недопустимым значением не оказывает никакого влияния. Обратитесь к Проблемам потоковой обработки в AWT для получения подробной информации об архитектуре потоков AWT.
- Parameters:
-
listener- обработчик событий мыши - See Also:
getMouseListeners
public MouseListener[] getMouseListeners()
TrayIcon. - Returns:
- все зарегистрированные
MouseListenersдля этогоTrayIconили пустой массив, если обработчики событий мыши не зарегистрированы - See Also:
addMouseMotionListener
public void addMouseMotionListener(MouseMotionListener listener)
TrayIcon. Вызов этого метода со значением null не оказывает никакого влияния. Примечание: координаты MouseEvent (полученные от TrayIcon) относительны к экрану, а не к TrayIcon.
Примечание: Событие MOUSE_DRAGGED мыши не поддерживается.
Обратитесь к Проблемам потоковой обработки в AWT для получения подробной информации об архитектуре потоков AWT.
- Parameters:
-
listener- обработчик событий движения мыши - See Also:
removeMouseMotionListener
public void removeMouseMotionListener(MouseMotionListener listener)
null или недопустимым значением не оказывает никакого влияния. Обратитесь к Проблемам потоковой обработки в AWT для получения подробной информации об архитектуре потоков AWT.
- Parameters:
-
listener- обработчик событий движения мыши - See Also:
getMouseMotionListeners
public MouseMotionListener[] getMouseMotionListeners()
TrayIcon. - Returns:
- все зарегистрированные
MouseInputListenersдля этогоTrayIconили пустой массив, если обработчики событий мыши не зарегистрированы - See Also:
getActionCommand
public String getActionCommand()
- Returns:
- имя команды действия или
nullесли оно отсутствует - See Also:
setActionCommand
public void setActionCommand(String command)
null. - Parameters:
-
command- строка, используемая для установки команды действия значка системного трея. - See Also:
addActionListener
public void addActionListener(ActionListener listener)
TrayIcon. События действия обычно возникают, когда пользователь выбирает значок системного трея с помощью мыши или клавиатуры. Условия, при которых генерируются события действия, зависят от платформы. Вызов этого метода со значением null не оказывает никакого влияния.
Обратитесь к Проблемам потоковой обработки в AWT для получения подробной информации об архитектуре потоков AWT.
- Parameters:
-
listener- обработчик событий действия - See Also:
removeActionListener
public void removeActionListener(ActionListener listener)
null или недопустимым значением не оказывает никакого влияния. Обратитесь к Проблемам потоковой обработки в AWT для получения подробной информации об архитектуре потоков AWT.
- Parameters:
-
listener- обработчик событий действия - See Also:
getActionListeners
public ActionListener[] getActionListeners()
TrayIcon. - Returns:
- все зарегистрированные
ActionListenersдля этогоTrayIconили пустой массив, если обработчики событий действия не зарегистрированы - See Also:
displayMessage
public void displayMessage(String caption, String text, TrayIcon.MessageType messageType)
ActionEvent. Заголовок или текст могут быть пустыми, но будет брошено исключение null, если оба являются пустыми. При отображении строки заголовка или текста могут быть усечены на некоторых платформах; количество отображаемых символов зависит от платформы.
Примечание: некоторые платформы могут не поддерживать отображение сообщения.
- Parameters:
-
caption- заголовок, отображаемый над текстом, обычно выделенный; может быть пустым -
text- текст, отображаемый для конкретного сообщения; может быть пустым -
messageType- перечисление, указывающее тип сообщения - Throws:
-
NullPointerException- если обаcaptionиtextпусты
getSize
public Dimension getSize()
SystemTray.getTrayIconSize().- Возвращает:
- размер значка в системном трее, в пикселях
- См. также:
© 1993, 2021, 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/17/docs/api/java.desktop/java/awt/TrayIcon.html