Spec-Zone .ru
спецификации, руководства, описания, API
|
public class SystemTray extends Object
SystemTray
class представляет системный лоток для рабочего стола. На Microsoft Windows это упоминается как "область Состояния Панели задач", на Gnome это упоминается как "область уведомлений" на KDE, как который это упоминается как "Системный лоток". Системный лоток совместно используется всеми приложениями, работающими на рабочем столе. На некоторых платформах системный лоток, возможно, не присутствует или не может поддерживаться в этом случае getSystemTray()
броски UnsupportedOperationException
. Чтобы обнаружить, поддерживается ли системный лоток, использовать isSupported()
.
SystemTray
может содержать один или больше TrayIcons
, которые добавляются к лотку, используя add(java.awt.TrayIcon)
метод, и удаленный когда больше не необходимый, используя remove(java.awt.TrayIcon)
. TrayIcon
состоит из изображения, раскрывающегося меню и ряда связанных слушателей. Пожалуйста, см. TrayIcon
class для деталей.
У каждого приложения Java есть сингл SystemTray
экземпляр, который позволяет приложению взаимодействовать через интерфейс с системным лотком рабочего стола, в то время как приложение работает. SystemTray
экземпляр может быть получен из getSystemTray()
метод. Приложение, возможно, не создает свой собственный экземпляр SystemTray
.
Следующий фрагмент кода демонстрирует, как получить доступ и настроить системный лоток:
TrayIcon
trayIcon = null;
if (SystemTray.isSupported()) {
// get the SystemTray instance
SystemTray tray = SystemTray.getSystemTray()
;
// load an image
Image
image = Toolkit.getDefaultToolkit().getImage
(...);
// create a action listener to listen for default action executed on the tray icon
ActionListener
listener = new ActionListener
() {
public void actionPerformed
(ActionEvent
e) {
// execute default action of the application
// ...
}
};
// create a popup menu
PopupMenu
popup = new PopupMenu
();
// create menu item for the default action
MenuItem defaultItem = new MenuItem(...);
defaultItem.addActionListener(listener);
popup.add(defaultItem);
/// ... add other items
// construct a TrayIcon
trayIcon = new TrayIcon
(image, "Tray Demo", popup);
// set the TrayIcon properties
trayIcon.addActionListener
(listener);
// ...
// add the tray image
try {
tray.add
(trayIcon);
} catch (AWTException e) {
System.err.println(e);
}
// ...
} else {
// disable tray option in your application or
// perform other actions
...
}
// ...
// some time later
// the application state has changed - update the image
if (trayIcon != null) {
trayIcon.setImage
(updatedImage);
}
// ...
TrayIcon
Модификатор и Тип | Метод и Описание |
---|---|
void |
add(TrayIcon trayIcon)
Добавляет a
TrayIcon к SystemTray . |
void |
addPropertyChangeListener(String propertyName, PropertyChangeListener listener)
Добавляет a
PropertyChangeListener к списку слушателей для определенного свойства. |
PropertyChangeListener[] |
getPropertyChangeListeners(String propertyName)
Возвращает массив всех слушателей, которые были связаны с именованным свойством.
|
static SystemTray |
getSystemTray()
Добирается
SystemTray экземпляр, который представляет область лотка рабочего стола. |
TrayIcon[] |
getTrayIcons()
Возвращает массив всех значков, добавленных к лотку этим приложением.
|
Размерность |
getTrayIconSize()
Возвращает размер, в пикселях, места, которое значок лотка займет в системном лотке.
|
static boolean |
isSupported()
Возвраты, поддерживается ли системный лоток на текущей платформе.
|
void |
remove(TrayIcon trayIcon)
Удаляет указанное
TrayIcon от SystemTray . |
void |
removePropertyChangeListener(String propertyName, PropertyChangeListener listener)
Удаляет a
PropertyChangeListener от слушателя перечисляют для определенного свойства. |
public static SystemTray getSystemTray()
SystemTray
экземпляр, который представляет область лотка рабочего стола. Это всегда возвращает тот же самый экземпляр на приложение. На некоторых платформах не может поддерживаться системный лоток. Можно использовать isSupported()
метод, чтобы проверить, поддерживается ли системный лоток. Если SecurityManager устанавливается, AWTPermission accessSystemTray
должен быть предоставлен, чтобы добраться SystemTray
экземпляр. Иначе этот метод бросит SecurityException.
SystemTray
экземпляр, который представляет область лотка рабочего столаUnsupportedOperationException
- если системный лоток не поддерживается текущей платформойHeadlessException
- если GraphicsEnvironment.isHeadless()
возвраты true
SecurityException
- если accessSystemTray
разрешение не предоставляютadd(TrayIcon)
, TrayIcon
, isSupported()
, SecurityManager.checkPermission(java.security.Permission)
, AWTPermission
public static boolean isSupported()
TrayIcon.setPopupMenu(PopupMenu)
) или событие действия (см. TrayIcon.addActionListener(ActionListener)
). Разработчики не должны предположить, что вся функциональность системного лотка поддерживается. Чтобы гарантировать, что действие значения по умолчанию значка лотка всегда доступно, добавьте действие значения по умолчанию и к слушателю действия и к раскрывающемуся меню. См. example
для примера того, как сделать это.
Отметьте: реализовывая SystemTray
и TrayIcon
строго рекомендуется, чтобы Вы присвоили различные жесты раскрывающемуся меню и событию действия. Перегрузка жеста в обеих целях сбивает с толку и может препятствовать тому, чтобы пользователь получил доступ один или другой.
false
если никакой доступ системного лотка не поддерживается; этот метод возвраты true
если минимальный доступ системного лотка поддерживается, но не гарантирует, что вся функциональность системного лотка поддерживается для текущей платформыgetSystemTray()
public void add(TrayIcon trayIcon) throws AWTException
TrayIcon
к SystemTray
. Значок лотка становится видимым в системном лотке, как только это добавляется. Порядок, в котором значки выводятся на экран в лотке, не определяется - это - платформа и зависящий от реализации. Все значки, добавленные приложением, автоматически удаляются из SystemTray
на выход приложения и также когда настольный системный лоток становится недоступным.
trayIcon
- TrayIcon
быть добавленнымNullPointerException
- если trayIcon
null
IllegalArgumentException
- если тот же самый экземпляр a TrayIcon
добавляется не разAWTException
- если настольный системный лоток отсутствуетremove(TrayIcon)
, getSystemTray()
, TrayIcon
, Image
public void remove(TrayIcon trayIcon)
TrayIcon
от SystemTray
. Все значки, добавленные приложением, автоматически удаляются из SystemTray
на выход приложения и также когда настольный системный лоток становится недоступным.
Если trayIcon
null
или не был добавлен к системному лотку, никакое исключение не выдается, и никакое действие не выполняется.
trayIcon
- TrayIcon
быть удаленнымadd(TrayIcon)
, TrayIcon
public TrayIcon[] getTrayIcons()
Возвращенный массив является копией фактического массива и может быть изменен всегда, не влияя на системный лоток. Удалить a TrayIcon
от SystemTray
, используйте remove(TrayIcon)
метод.
add(TrayIcon)
, TrayIcon
public Dimension getTrayIconSize()
TrayIcon.getSize()
в TrayIcon
class.TrayIcon.setImageAutoSize(boolean)
, Image
, TrayIcon.getSize()
public void addPropertyChangeListener(String propertyName, PropertyChangeListener listener)
PropertyChangeListener
к списку слушателей для определенного свойства. Следующие свойства в настоящий момент поддерживаются:
Свойство | Описание |
---|---|
trayIcons |
SystemTray 's массив TrayIcon объекты. К массиву получают доступ через getTrayIcons() метод.Это свойство изменяется, когда значок лотка добавляется к (или удаляется из), системный лоток. Например, это свойство изменяется, когда системный лоток становится недоступным на рабочем столе и значки лотка автоматически удаляются. |
systemTray |
Это свойство содержит SystemTray экземпляр, когда системный лоток доступен или null иначе.Это свойство изменяется, когда системный лоток становится доступным или недоступным на рабочем столе. К свойству получают доступ getSystemTray() метод. |
listener
слушает изменения свойства только в этом контексте. Если listener
null
, никакое исключение не выдается, и никакое действие не выполняется.
propertyName
- указанное свойствоlistener
- слушатель изменения свойства, который будет добавленremovePropertyChangeListener(java.lang.String, java.beans.PropertyChangeListener)
, getPropertyChangeListeners(java.lang.String)
public void removePropertyChangeListener(String propertyName, PropertyChangeListener listener)
PropertyChangeListener
от слушателя перечисляют для определенного свойства. PropertyChangeListener
должен быть от этого контекста.
Если propertyName
или listener
null
или недопустимый, никакое исключение не выдается, и никакие меры не предпринимаются.
propertyName
- указанное свойствоlistener
- PropertyChangeListener, который будет удаленaddPropertyChangeListener(java.lang.String, java.beans.PropertyChangeListener)
, getPropertyChangeListeners(java.lang.String)
public PropertyChangeListener[] getPropertyChangeListeners(String propertyName)
Только слушатели в этом контексте возвращаются.
propertyName
- указанное свойствоPropertyChangeListener
s связанный с именованным свойством; если никакие такие слушатели не были добавлены или если propertyName
null
или недопустимый, пустой массив возвращаетсяaddPropertyChangeListener(java.lang.String, java.beans.PropertyChangeListener)
, removePropertyChangeListener(java.lang.String, java.beans.PropertyChangeListener)
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92