SystemTray (Java Platform SE 6) - xrath.com 에서 번역됨

개요 | 패키지 | 클래스 | 사용 | 계층 트리 | 비추천 API | 색인 | 헬프

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)` `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`

메소드의 상세

### 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` 를 참조해 주세요.

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

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

### add

    public void add(TrayIcon  trayIcon)
             throws AWTException

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

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

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

### remove

    public void remove(TrayIcon  trayIcon)

  지정된 `TrayIcon` 를 `SystemTray` 로부터 삭제합니다.

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

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

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

### getTrayIcons

    public TrayIcon [] getTrayIcons()

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

  반환되는 배열은, 실제의 배열의 카피이며, 시스템 트레이에 영향을 주지 않는 방법으로 변경할 수 있습니다. `TrayIcon` 를 `SystemTray` 로부터 삭제하려면 ,`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` 를 추가합니다. 현재 지원되고 있는 프로퍼티은 다음과 같습니다.
  - `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)`

### removePropertyChangeListener

    public void removePropertyChangeListener(String  propertyName,
                                             PropertyChangeListener  listener)

  특정의 프로퍼티의 청취자 리스트로부터 `PropertyChangeListener` 를 삭제합니다.

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

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

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

### getPropertyChangeListeners

    public PropertyChangeListener [] getPropertyChangeListeners(String  propertyName)

  지정된 프로퍼티에 관련지을 수 있던 모든 청취자의 배열을 돌려줍니다.

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

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

개요 | 패키지 | 클래스 | 사용 | 계층 트리 | 비추천 API | 색인 | 헬프

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 도 참조해 주세요.