|
JavaTM Platform Standard Ed. 6 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Object java.awt.SystemTray
public class SystemTray
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);
}
// ...
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 をスローします。
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)
を参照) が含まれます。
開発者は、すべてのシステムトレイ機能がサポートされていると想定しないでください。トレイアイコンのデフォルトアクションに常にアクセス可能であることを保証するために、デフォルトアクションをアクションリスナーとポップアップメニューの両方に追加します。その方法の例については、example
を参照してください。
注 -SystemTray
および TrayIcon
を実装するときは、ポップアップメニューとアクションイベントに異なるジェスチャーを割り当てることを強くお勧めします。両方に 1 つのジェスチャーをオーバーロードすると、混乱が生じ、ユーザーが一方にアクセスできない可能性があります。
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
の場合、またはシステムトレイに追加されなかった場合は、例外はスローされず、何も処理は行われません。
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
の場合、例外はスローされず、何も処理は行われません。
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
- 削除する PropertyChangeListeneraddPropertyChangeListener(java.lang.String, java.beans.PropertyChangeListener)
,
getPropertyChangeListeners(java.lang.String)
public PropertyChangeListener[] getPropertyChangeListeners(String propertyName)
このコンテキストでのリスナーだけが返されます。
propertyName
- 指定されたプロパティー
PropertyChangeListener
。そのようなリスナーが追加されていないか、または propertyName
が null
か無効な場合、空の配列が返されるaddPropertyChangeListener(java.lang.String, java.beans.PropertyChangeListener)
,
removePropertyChangeListener(java.lang.String, java.beans.PropertyChangeListener)
|
JavaTM Platform Standard Ed. 6 |
|||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
Copyright 2009 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms. Documentation Redistribution Policy も参照してください。