JavaTM Platform
Standard Ed. 6

java.awt
클래스 SystemTray

java.lang.Object 
  상위를 확장 java.awt.SystemTray


public class SystemTray
extends Object

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);
     }
     // ...
 

도입된 버젼:
1.6
관련 항목:
TrayIcon

메소드의 개요
 void add (TrayIcon  trayIcon)
          TrayIconSystemTray 에 추가합니다.
 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)
          지정된 TrayIconSystemTray 로부터 삭제합니다.
 void removePropertyChangeListener (String  propertyName, PropertyChangeListener  listener)
          특정의 프로퍼티의 청취자 리스트로부터 PropertyChangeListener 를 삭제합니다.
 
클래스 java.lang. Object 로부터 상속된 메소드
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
 

메소드의 상세

getSystemTray

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

isSupported

public static boolean isSupported()
시스템 트레이가 현재의 플랫폼에서 지원되고 있는지 어떤지를 돌려줍니다. 트레이 아이콘을 표시할 뿐만 아니라, 시스템 트레이의 최소한의 지원에는 pop-up menu (TrayIcon.setPopupMenu(PopupMenu) 를 참조) 또는 액션 이벤트 (TrayIcon.addActionListener(ActionListener) 를 참조)가 포함됩니다.  

개발자는, 모든 시스템 트레이 기능이 지원되고 있으면(자) 상정하지 말아 주세요. 트레이 아이콘의 디폴트 액션에 항상 액세스 가능한 것을 보증하기 위해서, 디폴트 액션을 액션 청취자와 pop-up menu의 양쪽 모두에 추가합니다. 그방법의 예에 대해서는,example 를 참조해 주세요.  

:SystemTrayTrayIcon 를 구현할 때는, pop-up menu와 액션 이벤트에 다른 제스처(gesture)를 할당하는 것을 강하게 추천합니다. 양쪽 모두에 1 개의 제스처(gesture)를 overload 하면(자), 혼란이 생겨 사용자가 한편에 액세스 할 수 없을 가능성이 있습니다.

반환값:
시스템 트레이 액세스가 지원되어 있지 않은 경우는 false. 최소한의 시스템 트레이 액세스가 지원되고 있지만, 현재의 플랫폼에서 모든 시스템 트레이 기능이 지원되고 있는 보증이 없는 경우는 true 를 돌려주는
관련 항목:
getSystemTray()

add

public void add(TrayIcon  trayIcon)
         throws AWTException 
TrayIconSystemTray 에 추가합니다. 트레이 아이콘은, 추가하면(자) 시스템 트레이로 가시 상태가 됩니다. 아이콘이 트레이로 표시되는 순서는 지정되지 않습니다. 플랫폼과 구현에 의존합니다.  

어플리케이션에 의해 추가된 모든 아이콘은, 어플리케이션의 종료시에 SystemTray 로부터 자동적으로 삭제됩니다. 또, 데스크탑의 시스템 트레이가 이용 불가능하게 되었을 경우도 삭제됩니다.

파라미터:
trayIcon - 추가하는 TrayIcon
예외:
NullPointerException - trayIconnull 의 경우
IllegalArgumentException - TrayIcon 의 같은 인스턴스가 여러 차례 추가되었을 경우
AWTException - 데스크탑의 시스템 트레이가 발견되지 않는 경우
관련 항목:
remove(TrayIcon) , getSystemTray() , TrayIcon , Image

remove

public void remove(TrayIcon  trayIcon)
지정된 TrayIconSystemTray 로부터 삭제합니다.  

어플리케이션에 의해 추가된 모든 아이콘은, 어플리케이션의 종료시에 SystemTray 로부터 자동적으로 삭제됩니다. 또, 데스크탑의 시스템 트레이가 이용 불가능하게 되었을 경우도 삭제됩니다.  

trayIconnull 의 경우, 또는 시스템 트레이에 추가되지 않았던 경우는, 예외는 throw 되지 않고, 아무것도 처리는 행해지지 않습니다.

파라미터:
trayIcon - 삭제하는 TrayIcon
관련 항목:
add(TrayIcon) , TrayIcon

getTrayIcons

public TrayIcon [] getTrayIcons()
이 어플리케이션에 의해 트레이에 추가된 모든 아이콘의 배열을 돌려줍니다. 다른 어플리케이션에 의해 추가된 아이콘에는 액세스 할 수 없습니다. 일부의 브라우저는, 다른 코드 베이스의 애플릿을 다른 문맥에 분할해, 이러한 문맥의 사이에 벽을 구축합니다. 이러한 경우, 이 문맥으로부터 추가된 트레이 아이콘만이 돌려주어집니다.  

반환되는 배열은, 실제의 배열의 카피이며, 시스템 트레이에 영향을 주지 않는 방법으로 변경할 수 있습니다. TrayIconSystemTray 로부터 삭제하려면 ,remove(TrayIcon) 메소드를 사용해 주세요.

반환값:
이 트레이에 추가된 모든 트레이 아이콘의 배열, 또는 추가된 아이콘이 없는 경우는 빈 상태(empty)의 배열
관련 항목:
add(TrayIcon) , TrayIcon

getTrayIconSize

public Dimension  getTrayIconSize()
시스템 트레이로 트레이 아이콘이 차지하는 영역의 사이즈 (픽셀 단위)를 돌려줍니다. 개발자는, 이 메소드를 사용하면(자), 트레이 아이콘을 작성하기 전에, 트레이 아이콘의 이미지 프로퍼티의 추천 사이즈를 취득할 수 있습니다. 편의이기 때문에, 유사한 메소드인 TrayIcon.getSize()TrayIcon 클래스에도 준비되어 있습니다.

반환값:
트레이 아이콘의 디폴트 사이즈 (픽셀 단위)
관련 항목:
TrayIcon.setImageAutoSize(boolean) , Image , TrayIcon.getSize()

addPropertyChangeListener

public void addPropertyChangeListener(String  propertyName,
                                      PropertyChangeListener  listener)
특정의 프로퍼티의 청취자 리스트에 PropertyChangeListener 를 추가합니다. 현재 지원되고 있는 프로퍼티은 다음과 같습니다.

listener 는, 이 문맥에서의 프로퍼티의 변경만을 대기합니다.  

listenernull 의 경우, 예외는 throw 되지 않고, 아무것도 처리는 행해지지 않습니다.

파라미터:
propertyName - 지정된 프로퍼티
listener - 추가되는 프로퍼티 변경 청취자
관련 항목:
removePropertyChangeListener(java.lang.String, java.beans.PropertyChangeListener) , getPropertyChangeListeners(java.lang.String)

removePropertyChangeListener

public void removePropertyChangeListener(String  propertyName,
                                         PropertyChangeListener  listener)
특정의 프로퍼티의 청취자 리스트로부터 PropertyChangeListener 를 삭제합니다.  

PropertyChangeListener 는, 이 문맥으로부터의 청취자일 필요가 있습니다.  

propertyName 또는 listenernull 또는 무효의 경우, 예외는 throw 되지 않고, 아무것도 처리는 행해지지 않습니다.

파라미터:
propertyName - 지정된 프로퍼티
listener - 삭제하는 PropertyChangeListener
관련 항목:
addPropertyChangeListener(java.lang.String, java.beans.PropertyChangeListener) , getPropertyChangeListeners(java.lang.String)

getPropertyChangeListeners

public PropertyChangeListener [] getPropertyChangeListeners(String  propertyName)
지정된 프로퍼티에 관련지을 수 있던 모든 청취자의 배열을 돌려줍니다.  

이 문맥에서의 청취자만이 돌려주어집니다.

파라미터:
propertyName - 지정된 프로퍼티
반환값:
이름 첨부 프로퍼티에 관련지을 수 있던 모든 PropertyChangeListener. 그러한 청취자가 추가되어 있지 않은지, 또는 propertyNamenull 또는 무효의 경우는, 빈 상태(empty)의 배열이 반환되는
관련 항목:
addPropertyChangeListener(java.lang.String, java.beans.PropertyChangeListener) , removePropertyChangeListener(java.lang.String, java.beans.PropertyChangeListener)

JavaTM Platform
Standard Ed. 6

버그의 보고와 기능의 요청
한층 더 자세한 API 레퍼런스 및 개발자 문서에 대해서는,Java SE 개발자용 문서를 참조해 주세요. 개발자전용의 상세한 해설, 개념의 개요, 용어의 정의, 버그의 회피책, 및 코드 실례가 포함되어 있습니다.

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.