|
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() возвраты trueSecurityException - если accessSystemTray разрешение не предоставляютadd(TrayIcon), TrayIcon, isSupported(), SecurityManager.checkPermission(java.security.Permission), AWTPermissionpublic 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 nullIllegalArgumentException - если тот же самый экземпляр a TrayIcon добавляется не разAWTException - если настольный системный лоток отсутствуетremove(TrayIcon), getSystemTray(), TrayIcon, Imagepublic void remove(TrayIcon trayIcon)
TrayIcon от SystemTray. Все значки, добавленные приложением, автоматически удаляются из SystemTray на выход приложения и также когда настольный системный лоток становится недоступным.
Если trayIcon null или не был добавлен к системному лотку, никакое исключение не выдается, и никакое действие не выполняется.
trayIcon - TrayIcon быть удаленнымadd(TrayIcon), TrayIconpublic TrayIcon[] getTrayIcons()
Возвращенный массив является копией фактического массива и может быть изменен всегда, не влияя на системный лоток. Удалить a TrayIcon от SystemTray, используйте remove(TrayIcon) метод.
add(TrayIcon), TrayIconpublic 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 - указанное свойствоPropertyChangeListeners связанный с именованным свойством; если никакие такие слушатели не были добавлены или если propertyName null или недопустимый, пустой массив возвращаетсяaddPropertyChangeListener(java.lang.String, java.beans.PropertyChangeListener), removePropertyChangeListener(java.lang.String, java.beans.PropertyChangeListener)
Для дальнейшей ссылки API и документации разработчика, см. Java Документация SE. Та документация содержит более подробные, предназначенные разработчиком описания, с концептуальными краткими обзорами, определениями сроков, обходных решений, и рабочих примеров кода.
Авторское право © 1993, 2013, Oracle и/или его филиалы. Все права защищены.
Проект сборка-b92