Класс TrayIcon
- java.lang.Object
-
- java.awt.TrayIcon
public class TrayIcon extends Object
Объект типа TrayIcon представляет собой значок системного лотка, который можно добавить в system tray. Значок может иметь подсказку (текст), изображение, всплывающее меню и набор слушателей, связанных с ним.
Значок может генерировать различные MouseEvents и поддерживает добавление соответствующих слушателей для получения уведомлений о таких событиях. TrayIcon обрабатывает некоторые из этих событий самостоятельно. Например, по умолчанию, при правом щелчке мышью по значку TrayIcon отображается указанное всплывающее меню. При наведении курсора мыши на значок TrayIcon отображается подсказка.
Примечание: Когда событие MouseEvent передается зарегистрированным слушателям, его свойство component будет установлено в null. (См. ComponentEvent.getComponent()) Свойство source будет установлено в этот TrayIcon. (См. EventObject.getSource())
Примечание: Правильно реализованный TrayIcon должен назначать разные действия для отображения всплывающего меню и выбора значка лотка.
Значок TrayIcon может генерировать ActionEvent. В некоторых системах это происходит, когда пользователь выбирает значок лотка с помощью мыши или клавиатуры.
Если установлен SecurityManager, для создания TrayIcon необходимо предоставить разрешение AWTPermission accessSystemTray. В противном случае конструктор выбросит 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- еслиimagenull -
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- еслиimagenull -
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- еслиimagenull -
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- еслиimagenull - См. также:
-
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.
- Параметры:
-
listener- обработчик событий мыши - См. также:
-
MouseEvent,MouseListener,removeMouseListener(MouseListener),getMouseListeners()
removeMouseListener
public void removeMouseListener(MouseListener listener)
Удаляет указанного обработчика событий мыши. Вызов этого метода с null или недействительным значением не имеет эффекта.
Для получения подробностей о модели потоков AWT см. Проблемы с потоками AWT.
- Параметры:
-
listener- обработчик событий мыши - См. также:
-
MouseEvent,MouseListener,addMouseListener(MouseListener),getMouseListeners()
getMouseListeners
public MouseListener[] getMouseListeners()
Возвращает массив всех зарегистрированных слушателей событий мыши для этого объекта.
- Возвращает:
- все зарегистрированные слушатели событий мыши для этого объекта или пустой массив, если слушатели не зарегистрированы
- См. также:
-
addMouseListener(MouseListener),removeMouseListener(MouseListener),MouseListener
addMouseMotionListener
public void addMouseMotionListener(MouseMotionListener listener)
Добавляет указанного слушателя событий перемещения мыши, чтобы получать такие события от этого объекта.
Вызов этого метода с null значением не оказывает никакого влияния.
Примечание: Координаты события (полученные от TrayIcon ) относятся к экрану, а не к объекту.
Примечание: Событие мыши MOUSE_DRAGGED не поддерживается.
Дополнительные сведения о модели потоков AWT см. в разделе AWT Threading Issues.
- Параметры:
-
listener- слушатель событий перемещения мыши - См. также:
-
MouseEvent,MouseMotionListener,removeMouseMotionListener(MouseMotionListener),getMouseMotionListeners()
removeMouseMotionListener
public void removeMouseMotionListener(MouseMotionListener listener)
Удаляет указанного слушателя событий перемещения мыши. Вызов этого метода с null или некорректным значением не оказывает никакого влияния.
Дополнительные сведения о модели потоков AWT см. в разделе AWT Threading Issues.
- Параметры:
-
listener- слушатель событий перемещения мыши - См. также:
-
MouseEvent,MouseMotionListener,addMouseMotionListener(MouseMotionListener),getMouseMotionListeners()
getMouseMotionListeners
public MouseMotionListener[] getMouseMotionListeners()
Возвращает массив всех зарегистрированных слушателей событий перемещения мыши для этого объекта.
- Возвращает:
- все зарегистрированные слушатели событий перемещения мыши для этого объекта или пустой массив, если слушатели не зарегистрированы
- См. также:
-
addMouseMotionListener(MouseMotionListener),removeMouseMotionListener(MouseMotionListener),MouseMotionListener
getActionCommand
public String getActionCommand()
Возвращает имя команды события действия, сгенерированного этим значком системного лотка.
- Возвращает:
- имя команды действия или
null, если оно не задано - См. также:
-
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 Threading Issues.
- Параметры:
-
listener- слушатель событий действия - См. также:
-
removeActionListener(java.awt.event.ActionListener),getActionListeners(),ActionListener,setActionCommand(String)
removeActionListener
public void removeActionListener(ActionListener listener)
Удаляет указанного слушателя событий действия. Вызов этого метода с null или некорректным значением не оказывает никакого влияния.
Дополнительные сведения о модели потоков AWT см. в разделе AWT Threading Issues.
- Параметры:
-
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.