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 をスローします。システムトレイがサポートされているかどうかを検出するには、isSupported() を使用します。  

SystemTray には、1 つ以上の TrayIcon が格納されている場合があります。TrayIcon は、add(java.awt.TrayIcon) メソッドを使用してトレイに追加し、不要になったら remove(java.awt.TrayIcon) メソッドを使用して削除します。TrayIcon は、イメージ、ポップアップメニュー、および関連するリスナーのセットで構成されます。詳細は、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 をスローします。

戻り値:
デスクトップのトレイ領域を表す SystemTray インスタンス
例外:
UnsupportedOperationException - システムトレイが 現在のプラットフォームでサポートされない場合
HeadlessException - GraphicsEnvironment.isHeadless true を返す場合
SecurityException - accessSystemTray アクセス権が 許可されない場合
関連項目:
add(TrayIcon), TrayIcon, isSupported(), SecurityManager.checkPermission(java.security.Permission), AWTPermission

isSupported

public static boolean isSupported()
システムトレイが現在のプラットフォームでサポートされているかどうかを返します。トレイアイコンを表示するだけでなく、システムトレイの最小限のサポートにはポップアップメニュー (TrayIcon.setPopupMenu(PopupMenu) を参照) またはアクションイベント (TrayIcon.addActionListener(ActionListener) を参照) が含まれます。  

開発者は、すべてのシステムトレイ機能がサポートされていると想定しないでください。トレイアイコンのデフォルトアクションに常にアクセス可能であることを保証するために、デフォルトアクションをアクションリスナーとポップアップメニューの両方に追加します。その方法の例については、example を参照してください。  

:SystemTray および TrayIcon を実装するときは、ポップアップメニューとアクションイベントに異なるジェスチャーを割り当てることを強くお勧めします。両方に 1 つのジェスチャーをオーバーロードすると、混乱が生じ、ユーザーが一方にアクセスできない可能性があります。

戻り値:
システムトレイアクセスがサポートされていない場合は 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 の場合、またはシステムトレイに追加されなかった場合は、例外はスローされず、何も処理は行われません。

パラメータ:
trayIcon - 削除する TrayIcon
関連項目:
add(TrayIcon), TrayIcon

getTrayIcons

public TrayIcon[] getTrayIcons()
このアプリケーションによってトレイに追加されたすべてのアイコンの配列を返します。別のアプリケーションによって追加されたアイコンにはアクセスできません。一部のブラウザは、異なるコードベースのアプレットを別のコンテキストに分割し、これらのコンテキストの間に壁を構築します。このような場合、このコンテキストから追加されたトレイアイコンだけが返されます。  

返される配列は、実際の配列のコピーであり、システムトレイに影響しない方法で変更できます。TrayIconSystemTray から削除するには、remove(TrayIcon) メソッドを使用してください。

戻り値:
このトレイに追加されたすべてのトレイアイコンの配列、 または追加されたアイコンがない場合は空の配列
関連項目:
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 の場合、例外はスローされず、何も処理は行われません。

パラメータ:
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 または無効の場合、例外はスローされず、何も処理は行われません。

パラメータ:
propertyName - 指定されたプロパティー
listener - 削除する PropertyChangeListener
関連項目:
addPropertyChangeListener(java.lang.String, java.beans.PropertyChangeListener), getPropertyChangeListeners(java.lang.String)

getPropertyChangeListeners

public PropertyChangeListener[] getPropertyChangeListeners(String propertyName)
指定されたプロパティーに関連付けられたすべてのリスナーの配列を返します。  

このコンテキストでのリスナーだけが返されます。

パラメータ:
propertyName - 指定されたプロパティー
戻り値:
名前付きプロパティーに関連付けられたすべての PropertyChangeListener。 そのようなリスナーが追加されていないか、または propertyNamenull または無効の場合は、 空の配列が返される
関連項目:
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 も参照してください。