Класс 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 с указанным изображением.

TrayIcon​(Image image, String tooltip)

Создает TrayIcon с указанным изображением и текстом всплывающей подсказки.

TrayIcon​(Image image, String tooltip, PopupMenu popup)

Создает TrayIcon с указанным изображением, всплывающей подсказкой и всплывающим меню.

Методы

Модификатор и тип Метод Описание
void addActionListener​(ActionListener listener)

Добавляет указанный обработчик событий для получения ActionEvent от этого TrayIcon.

void addMouseListener​(MouseListener listener)

Добавляет указанный обработчик событий мыши для получения событий мыши от этого TrayIcon.

void addMouseMotionListener​(MouseMotionListener listener)

Добавляет указанный обработчик событий мыши для получения событий движения мыши от этого TrayIcon.

void displayMessage​(String caption, String text, TrayIcon.MessageType messageType)

Отображает всплывающее сообщение рядом с значком системного лотка.

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​(ActionListener listener)

Удаляет указанный обработчик событий действия.

void removeMouseListener​(MouseListener listener)

Удаляет указанный обработчик событий мыши.

void removeMouseMotionListener​(MouseMotionListener listener)

Удаляет указанный обработчик событий движения мыши.

void setActionCommand​(String command)

Устанавливает имя команды для события действия, генерируемого этим значком системного лотка.

void setImage​(Image image)

Устанавливает изображение для этого TrayIcon.

void setImageAutoSize​(boolean autosize)

Устанавливает свойство автоматического размера.

void setPopupMenu​(PopupMenu popup)

Устанавливает контекстное меню для этого TrayIcon.

void setToolTip​(String tooltip)

Устанавливает строку всплывающей подсказки для этого TrayIcon.

Методы, объявленные в классе 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

Spec-Zone .ru
спецификации, руководства, описания, API