|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
java.lang.Objectjava.awt.SystemTray
public class SystemTray
SystemTray
클래스는, 데스크탑의 시스템 트레이를 나타냅니다. Microsoft Windows 에서는, 「태스크바의 상태 영역」, Gnome 에서는 「통지 스페이스」, KDE 에서는 「시스템 트레이」라고 불립니다. 시스템 트레이는, 데스크탑으로 실행하고 있는 모든 어플리케이션으로 공유됩니다.
일부의 플랫폼에서는, 시스템 트레이가 존재하지 않기도 하고, 지원되어 있지 않거나 하는 일이 있습니다. 그 경우,getSystemTray()
은 UnsupportedOperationException
를 throw 합니다. 시스템 트레이가 지원되고 있는지 어떤지를 검출하려면 ,isSupported()
를 사용합니다.
SystemTray
에는, 1 개(살) 이상 TrayIcon
가 포함되고 있는 경우가 있습니다. TrayIcon 는,add(java.awt.TrayIcon)
메소드를 사용해 트레이에 추가해, 불필요하게 되면(자) remove(java.awt.TrayIcon)
메소드를 사용해 삭제합니다. TrayIcon
는, 이미지, pop-up menu, 및 관련하는 청취자세트로 구성됩니다. 자세한 것은,TrayIcon
클래스를 참조해 주세요.
각 Java 어플리케이션에는,SystemTray
인스턴스가 1 개 있어, 어플리케이션은 실행중에 데스크탑의 시스템 트레이와 교환할 수가 있습니다. 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)
TrayIcon 를 SystemTray 에 추가합니다. |
void |
addPropertyChangeListener (String propertyName,
PropertyChangeListener listener)
특정의 프로퍼티의 청취자 리스트에 PropertyChangeListener 를 추가합니다. |
PropertyChangeListener [] |
getPropertyChangeListeners (String propertyName)
지정된 프로퍼티에 관련지을 수 있던 모든 청취자의 배열을 돌려줍니다. |
static SystemTray |
getSystemTray ()
데스크탑의 트레이 영역을 나타내는 SystemTray 인스턴스를 가져옵니다. |
TrayIcon [] |
getTrayIcons ()
이 어플리케이션에 의해 트레이에 추가된 모든 아이콘의 배열을 돌려줍니다. |
Dimension |
getTrayIconSize ()
시스템 트레이로 트레이 아이콘이 차지하는 영역의 사이즈 (픽셀 단위)를 돌려줍니다. |
static boolean |
isSupported ()
시스템 트레이가 현재의 플랫폼에서 지원되고 있는지 어떤지를 돌려줍니다. |
void |
remove (TrayIcon trayIcon)
지정된 TrayIcon 를 SystemTray 로부터 삭제합니다. |
void |
removePropertyChangeListener (String propertyName,
PropertyChangeListener listener)
특정의 프로퍼티의 청취자 리스트로부터 PropertyChangeListener 를 삭제합니다. |
클래스 java.lang. Object 로부터 상속된 메소드 |
---|
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait |
메소드의 상세 |
---|
public static SystemTray getSystemTray()
SystemTray
인스턴스를 가져옵니다. 어플리케이션 마다 같은 인스턴스를 항상 돌려줍니다. 일부의 플랫폼에서는, 시스템 트레이가 지원되어 있지 않은 경우가 있습니다. isSupported()
메소드를 사용하면(자), 시스템 트레이가 지원되고 있는지 어떤지를 확인할 수 있습니다.
SecurityManager 가 인스톨 되고 있는 경우,SystemTray
인스턴스를 취득하기 위해서, AWTPermission accessSystemTray
가 허가되고 있을 필요가 있습니다. 그렇지 않은 경우, 이 메소드는 SecurityException 를 throw 합니다.
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)
를 참조)가 포함됩니다.
개발자는, 모든 시스템 트레이 기능이 지원되고 있으면(자) 상정하지 말아 주세요. 트레이 아이콘의 디폴트 액션에 항상 액세스 가능한 것을 보증하기 위해서, 디폴트 액션을 액션 청취자와 pop-up menu의 양쪽 모두에 추가합니다. 그방법의 예에 대해서는,example
를 참조해 주세요.
주:SystemTray
및 TrayIcon
를 구현할 때는, pop-up menu와 액션 이벤트에 다른 제스처(gesture)를 할당하는 것을 강하게 추천합니다. 양쪽 모두에 1 개의 제스처(gesture)를 overload 하면(자), 혼란이 생겨 사용자가 한편에 액세스 할 수 없을 가능성이 있습니다.
false
.
최소한의 시스템 트레이 액세스가 지원되고 있지만,
현재의 플랫폼에서 모든 시스템 트레이 기능이
지원되고 있는 보증이 없는 경우는 true
를 돌려주는getSystemTray()
public void add(TrayIcon trayIcon) throws AWTException
TrayIcon
를 SystemTray
에 추가합니다. 트레이 아이콘은, 추가하면(자) 시스템 트레이로 가시 상태가 됩니다. 아이콘이 트레이로 표시되는 순서는 지정되지 않습니다. 플랫폼과 구현에 의존합니다.
어플리케이션에 의해 추가된 모든 아이콘은, 어플리케이션의 종료시에 SystemTray
로부터 자동적으로 삭제됩니다. 또, 데스크탑의 시스템 트레이가 이용 불가능하게 되었을 경우도 삭제됩니다.
trayIcon
- 추가하는 TrayIcon
NullPointerException
- trayIcon
가
null
의 경우
IllegalArgumentException
- TrayIcon
의
같은 인스턴스가 여러 차례 추가되었을 경우
AWTException
- 데스크탑의 시스템 트레이가 발견되지 않는 경우remove(TrayIcon)
,
getSystemTray()
,
TrayIcon
,
Image
public void remove(TrayIcon trayIcon)
TrayIcon
를 SystemTray
로부터 삭제합니다.
어플리케이션에 의해 추가된 모든 아이콘은, 어플리케이션의 종료시에 SystemTray
로부터 자동적으로 삭제됩니다. 또, 데스크탑의 시스템 트레이가 이용 불가능하게 되었을 경우도 삭제됩니다.
trayIcon
가 null
의 경우, 또는 시스템 트레이에 추가되지 않았던 경우는, 예외는 throw 되지 않고, 아무것도 처리는 행해지지 않습니다.
trayIcon
- 삭제하는 TrayIcon
add(TrayIcon)
,
TrayIcon
public TrayIcon [] getTrayIcons()
반환되는 배열은, 실제의 배열의 카피이며, 시스템 트레이에 영향을 주지 않는 방법으로 변경할 수 있습니다. TrayIcon
를 SystemTray
로부터 삭제하려면 ,remove(TrayIcon)
메소드를 사용해 주세요.
add(TrayIcon)
,
TrayIcon
public Dimension getTrayIconSize()
TrayIcon.getSize()
가 TrayIcon
클래스에도 준비되어 있습니다.
TrayIcon.setImageAutoSize(boolean)
,
Image
,
TrayIcon.getSize()
public void addPropertyChangeListener(String propertyName, PropertyChangeListener listener)
PropertyChangeListener
를 추가합니다. 현재 지원되고 있는 프로퍼티은 다음과 같습니다.
trayIcons
이 SystemTray
의 TrayIcon
의 배열입니다. 이 배열은,getTrayIcons()
를 사용해 액세스 됩니다.
이 프로퍼티은,TrayIcon
를 SystemTray
에 대해서 추가 (또는 삭제)한다고 변경됩니다.
예를 들어, 네이티브 SystemTray
가 데스크탑으로 이용 불가능하게 되어,TrayIcon
가 자동적으로 삭제되면(자), 이 프로퍼티은 변경됩니다.
listener
는, 이 문맥에서의 프로퍼티의 변경만을 대기합니다.
listener
가 null
의 경우, 예외는 throw 되지 않고, 아무것도 처리는 행해지지 않습니다.
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
또는 무효의 경우, 예외는 throw 되지 않고, 아무것도 처리는 행해지지 않습니다.
propertyName
- 지정된 프로퍼티listener
- 삭제하는 PropertyChangeListeneraddPropertyChangeListener(java.lang.String, java.beans.PropertyChangeListener)
,
getPropertyChangeListeners(java.lang.String)
public PropertyChangeListener [] getPropertyChangeListeners(String propertyName)
이 문맥에서의 청취자만이 돌려주어집니다.
propertyName
- 지정된 프로퍼티
PropertyChangeListener
.
그러한 청취자가 추가되어 있지 않은지, 또는
propertyName
가 null
또는 무효의 경우는,
빈 상태(empty)의 배열이 반환되는addPropertyChangeListener(java.lang.String, java.beans.PropertyChangeListener)
,
removePropertyChangeListener(java.lang.String, java.beans.PropertyChangeListener)
|
JavaTM Platform Standard Ed. 6 |
|||||||||
앞의 클래스 다음의 클래스 | 프레임 있어 프레임 없음 | |||||||||
개요: 상자 | 필드 | 생성자 | 메소드 | 상세: 필드 | 생성자 | 메소드 |
Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.