JavaTM 2 Platform
Standard Ed. 6

java.awt
類別 TrayIcon

java.lang.Object
  繼承者 java.awt.TrayIcon

public class TrayIcon
extends Object

TrayIcon 物件表示可以添加到系統托盤的托盤圖標。TrayIcon 可以包含工具提示(文本)、圖像、彈出選單和一組與之關聯的偵聽器。

TrayIcon 可以產生各種 MouseEvent,並支持添加相應的偵聽器,以接收這些事件的通知。TrayIcon 可以自己處理一些事件。例如,預設情況下,在 TrayIcon 上單擊鼠標右鍵時,它將顯示指定的彈出選單。當鼠標懸停到 TrayIcon 上時,它將顯示工具提示。

註:在將 MouseEvent 指派給它的註冊偵聽器時,其 component 屬性將被設置為 null。(請參閱 ComponentEvent.getComponent());source 屬性將被設置為此 TrayIcon(請參閱 EventObject.getSource())。

註: 行為良好的 TrayIcon 實作將分派不同的動作來顯示彈出選單並選擇托盤圖標。

TrayIcon 可以產生一個 ActionEvent。在某些平臺上,當使用者使用鼠標或鍵盤選擇托盤圖標時,會出現這種情況。

如果已經安裝了 SecurityManager,則必須授予 AWTPermission accessSystemTray 才能創建 TrayIcon。否則,建構子將拋出 SecurityException。

有關如何使用 TrayIcon API 的範例,請參閱 SystemTray 類別概觀。

從以下版本開始:
1.6
另請參見:
SystemTray.add(java.awt.TrayIcon), ComponentEvent.getComponent(), EventObject.getSource()

巢狀類別摘要
static class TrayIcon.MessageType
          MessageType 確定哪個圖標將顯示在訊息標題中,以及訊息根據顯示產生的可能的系統聲音。
 
建構子摘要
TrayIcon(Image image)
          創建帶有指定圖像的 TrayIcon
TrayIcon(Image image, String tooltip)
          創建帶有指定圖像和工具提示文本的 TrayIcon
TrayIcon(Image image, String tooltip, PopupMenu popup)
          創建帶指定圖像、工具提示和彈出選單的 TrayIcon
 
方法摘要
 void addActionListener(ActionListener listener)
          添加指定的動作偵聽器,以接收發自此 TrayIconActionEvent
 void addMouseListener(MouseListener listener)
          添加指定的鼠標偵聽器,以接收發自此 TrayIcon 的鼠標事件。
 void addMouseMotionListener(MouseMotionListener listener)
          添加指定的鼠標偵聽器,以接收發自此 TrayIcon 的鼠標移動事件。
 void displayMessage(String caption, String text, TrayIcon.MessageType messageType)
          在托盤圖標附近顯示彈出訊息。
 String getActionCommand()
          返回由此托盤圖標觸發的動作事件的命令名。
 ActionListener[] getActionListeners()
          返回在已此 TrayIcon 上註冊的所有動作偵聽器的陣列。
 Image getImage()
          返回用於此 TrayIcon 的當前圖像。
 MouseListener[] getMouseListeners()
          返回已在此 TrayIcon 上註冊的所有鼠標偵聽器的陣列。
 MouseMotionListener[] getMouseMotionListeners()
          返回已在此 TrayIcon 上註冊的所有鼠標移動偵聽器的陣列。
 PopupMenu getPopupMenu()
          返回與此 TrayIcon 關聯的彈出選單。
 Dimension getSize()
          返回托盤圖標在系統托盤上佔用的空間大小(以像素為單位)。
 String getToolTip()
          返回與此 TrayIcon 關聯的工具提示字元串。
 boolean isImageAutoSize()
          返回自動調整大小屬性的值。
 void removeActionListener(ActionListener listener)
          移除指定的動作偵聽器。
 void removeMouseListener(MouseListener listener)
          移除指定的鼠標偵聽器。
 void removeMouseMotionListener(MouseMotionListener listener)
          移除指定的鼠標移動偵聽器。
 void setActionCommand(String command)
          設置由此托盤圖標觸發的動作事件的命令名。
 void setImage(Image image)
          設置此 TrayIcon 的圖像。
 void setImageAutoSize(boolean autosize)
          設置自動調整大小的屬性。
 void setPopupMenu(PopupMenu popup)
          設置此 TrayIcon 的彈出選單。
 void setToolTip(String tooltip)
          設置此 TrayIcon 的工具提示字元串。
 
從類別 java.lang.Object 繼承的方法
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

建構子詳細資訊

TrayIcon

public TrayIcon(Image image)
創建帶有指定圖像的 TrayIcon

參數:
image - 要使用的 Image
拋出:
IllegalArgumentException - 如果 imagenull
UnsupportedOperationException - 如果當前平臺不支持系統托盤
HeadlessException - 如果 GraphicsEnvironment.isHeadless() 返回 true
SecurityException - 如果未授予 accessSystemTray 權限
另請參見:
SystemTray.add(TrayIcon), TrayIcon(Image, String, PopupMenu), TrayIcon(Image, String), SecurityManager.checkPermission(java.security.Permission), AWTPermission

TrayIcon

public TrayIcon(Image image,
                String tooltip)
創建帶有指定圖像和工具提示文本的 TrayIcon

參數:
image - 要使用的 Image
tooltip - 將用作工具提示文本的字元串;如果值為 null,則不顯示工具提示
拋出:
IllegalArgumentException - 如果 imagenull
UnsupportedOperationException - 如果當前平臺不支持系統托盤
HeadlessException - 如果 GraphicsEnvironment.isHeadless() 返回 true
SecurityException - 如果未授予 accessSystemTray 權限
另請參見:
SystemTray.add(TrayIcon), TrayIcon(Image), TrayIcon(Image, String, PopupMenu), SecurityManager.checkPermission(java.security.Permission), AWTPermission

TrayIcon

public TrayIcon(Image image,
                String tooltip,
                PopupMenu popup)
創建帶指定圖像、工具提示和彈出選單的 TrayIcon

參數:
image - 要使用的 Image
tooltip - 將用作工具提示文本的字元串;如果值為 null ,則不顯示工具提示
popup - 將用於托盤圖標的彈出選單的選單;如果值為 null,則不顯示彈出選單
拋出:
IllegalArgumentException - 如果 imagenull
UnsupportedOperationException - 如果當前平臺不支持系統托盤
HeadlessException - 如果 GraphicsEnvironment.isHeadless() 返回 true
SecurityException - 如果未授予 accessSystemTray 權限
另請參見:
SystemTray.add(TrayIcon), TrayIcon(Image, String), TrayIcon(Image), PopupMenu, MouseListener, addMouseListener(MouseListener), SecurityManager.checkPermission(java.security.Permission), AWTPermission
方法詳細資訊

setImage

public void setImage(Image image)
設置此 TrayIcon 的圖像。若想在不調用 Image.flush() 方法的情況下捨棄以前的托盤圖標圖像,則需要手動調用它。

如果該圖像表示一幅動畫圖像,則將自動顯示動畫。

有關顯示圖像大小的詳細資訊,請參閱 setImageAutoSize(boolean) 屬性。

用與當前正在使用的圖像相同的圖像調用此方法無效。

參數:
image - 要使用的非 null Image
拋出:
NullPointerException - 如果 imagenull
另請參見:
getImage(), Image, SystemTray.add(TrayIcon), TrayIcon(Image, String)

getImage

public Image getImage()
返回用於此 TrayIcon 的當前圖像。

返回:
圖像
另請參見:
setImage(Image), Image

setPopupMenu

public void setPopupMenu(PopupMenu popup)
設置此 TrayIcon 的彈出選單。如果 popupnull,則沒有任何彈出選單與此 TrayIcon 關聯。

注意,在托盤圖標上設置此 popup 之前或之後,都不得將它添加到任何父級彈出選單。如果將它添加到某個父級彈出選單,則可能從該父級彈出選單中移除 popup

popup 只能設置在一個 TrayIcon 上。在多個 TrayIcon 上設置同一個 popup 將導致 IllegalArgumentException

註: 一些平臺可能不支持在使用者右鍵單擊托盤圖標時顯示使用者指定的彈出選單元件。在這種情況下,可能不顯示任何選單,在某些系統中,也可能顯示選單的本地版本。

參數:
popup - 一個 PopupMenu,如果該參數為 null,則移除所有彈出選單
拋出:
IllegalArgumentException - 如果已經為另一個 TrayIcon 設置 popup
另請參見:
getPopupMenu()

getPopupMenu

public PopupMenu getPopupMenu()
返回與此 TrayIcon 關聯的彈出選單。

返回:
彈出選單;如果不存在彈出選單,則返回 null
另請參見:
setPopupMenu(PopupMenu)

setToolTip

public void setToolTip(String tooltip)
設置此 TrayIcon 的工具提示字元串。當鼠標懸停在圖標上時,自動顯示工具提示。將工具提示設置為 null 將移除所有工具提示文本。 在某些平臺上顯示時,工具提示字元串可能被截斷;可以顯示的字元數與平臺有關。

參數:
tooltip - 工具提示的字元串;如果值為 null,則不顯示任何工具提示
另請參見:
getToolTip()

getToolTip

public String getToolTip()
返回與此 TrayIcon 關聯的工具提示字元串。

返回:
工具提示字元串;如果不存在,則返回 null
另請參見:
setToolTip(String)

setImageAutoSize

public void setImageAutoSize(boolean autosize)
設置自動調整大小的屬性。自動調整大小屬性將確定托盤圖像是否能自動調整大小以適合托盤上為圖像分派的空間。預設情況下,自動調整大小屬性被設置為 false

如果自動調整大小屬性為 false,且圖像大小與托盤圖標空間不比對,則圖像將按照原樣繪製在該空間中,如果圖像大小大於分派的空間,那麼它將被裁剪。

如果自動調整大小屬性為 true,則將拉伸或縮小圖像以適合托盤圖標空間。

參數:
autosize - 如果自動調整圖像大小,則為 true;否則為 false
另請參見:
isImageAutoSize()

isImageAutoSize

public boolean isImageAutoSize()
返回自動調整大小屬性的值。

返回:
如果自動調整圖像大小,則返回 true;否則返回 false
另請參見:
setImageAutoSize(boolean)

addMouseListener

public void addMouseListener(MouseListener listener)
添加指定的鼠標偵聽器,以接收發自此 TrayIcon 的鼠標事件。用 null 值調用此方法無效。

MouseEvent 的坐標(從 TrayIcon 接收)是相對於螢幕的,而不是相對於 TrayIcon 的。

註: 不支持 MOUSE_ENTEREDMOUSE_EXITED 鼠標事件。

有關 AWT 執行緒模型的詳細資訊,請參閱 AWT 執行緒問題

參數:
listener - 鼠標偵聽器
另請參見:
MouseEvent, MouseListener, removeMouseListener(MouseListener), getMouseListeners()

removeMouseListener

public void removeMouseListener(MouseListener listener)
移除指定的鼠標偵聽器。用 null 或無效值調用此方法無效。

有關 AWT 執行緒模型的詳細資訊,請參閱 AWT 執行緒問題

參數:
listener - 鼠標偵聽器
另請參見:
MouseEvent, MouseListener, addMouseListener(MouseListener), getMouseListeners()

getMouseListeners

public MouseListener[] getMouseListeners()
返回已在此 TrayIcon 上註冊的所有鼠標偵聽器的陣列。

返回:
所有已在此 TrayIcon 上註冊的 MouseListeners;如果當前沒有已註冊的鼠標偵聽器,則返回空陣列
另請參見:
addMouseListener(MouseListener), removeMouseListener(MouseListener), MouseListener

addMouseMotionListener

public void addMouseMotionListener(MouseMotionListener listener)
添加指定的鼠標偵聽器,以接收發自此 TrayIcon 的鼠標移動事件。用 null 值調用此方法無效。

MouseEvent 的坐標(從 TrayIcon 接收)是相對於螢幕的,而不是相對於 TrayIcon 的。

註: 不支持 MOUSE_DRAGGED 鼠標事件。

有關 AWT 執行緒模型的詳細資訊,請參閱 AWT 執行緒問題

參數:
listener - 鼠標偵聽器
另請參見:
MouseEvent, MouseMotionListener, removeMouseMotionListener(MouseMotionListener), getMouseMotionListeners()

removeMouseMotionListener

public void removeMouseMotionListener(MouseMotionListener listener)
移除指定的鼠標移動偵聽器。用 null 或無效值調用此方法無效。

有關 AWT 執行緒模型的詳細資訊,請參閱 AWT 執行緒問題

參數:
listener - 鼠標偵聽器
另請參見:
MouseEvent, MouseMotionListener, addMouseMotionListener(MouseMotionListener), getMouseMotionListeners()

getMouseMotionListeners

public MouseMotionListener[] getMouseMotionListeners()
返回已在此 TrayIcon 上註冊的所有鼠標移動偵聽器的陣列。

返回:
所有已在此 TrayIcon 上註冊的 MouseInputListeners;如果當前沒有註冊的鼠標偵聽器,則返回空陣列
另請參見:
addMouseMotionListener(MouseMotionListener), removeMouseMotionListener(MouseMotionListener), MouseMotionListener

getActionCommand

public String getActionCommand()
返回由此托盤圖標觸發的動作事件的命令名。

返回:
動作命令名;如果不存在,則返回 null
另請參見:
addActionListener(ActionListener), setActionCommand(String)

setActionCommand

public void setActionCommand(String command)
設置由此托盤圖標觸發的動作事件的命令名。預設情況下,此動作命令被設置為 null

參數:
command - 用於設置托盤圖標動作命令的字元串。
另請參見:
ActionEvent, addActionListener(ActionListener), getActionCommand()

addActionListener

public void addActionListener(ActionListener listener)
添加指定的動作偵聽器,以接收發自此 TrayIconActionEvent。當使用者使用鼠標或鍵盤選擇托盤圖標時,通常會發生動作事件。動作事件產生的條件與平臺有關。

null 值調用此方法無效。

有關 AWT 執行緒模型的詳細資訊,請參閱 AWT 執行緒問題

參數:
listener - 動作偵聽器
另請參見:
removeActionListener(java.awt.event.ActionListener), getActionListeners(), ActionListener, setActionCommand(String)

removeActionListener

public void removeActionListener(ActionListener listener)
移除指定的動作偵聽器。用 null 或無效值調用此方法無效。

有關 AWT 執行緒模型的詳細資訊,請參閱 AWT 執行緒問題

參數:
listener - 動作偵聽器
另請參見:
ActionEvent, ActionListener, addActionListener(ActionListener), getActionListeners(), setActionCommand(String)

getActionListeners

public ActionListener[] getActionListeners()
返回在已此 TrayIcon 上註冊的所有動作偵聽器的陣列。

返回:
所有已在此 TrayIcon 上註冊的 ActionListeners;如果當前沒有註冊的動作偵聽器,則返回空陣列
另請參見:
addActionListener(ActionListener), removeActionListener(ActionListener), ActionListener

displayMessage

public void displayMessage(String caption,
                           String text,
                           TrayIcon.MessageType messageType)
在托盤圖標附近顯示彈出訊息。訊息將在一段時間之後或使用者在訊息上單擊時消失。單擊訊息可能觸發 ActionEvent

標題或文本可以為 null,但如果兩者都為 null,則拋出 NullPointerException。 在某些平臺上顯示時,標題或文本字元串可能被截取;可以顯示的字元數與平臺有關。

註: 一些平臺可能不支持顯示訊息。

參數:
caption - 顯示在文本上面的標題,通常為粗體;可以為 null
text - 顯示特定訊息的文本;可以為 null
messageType - 指示訊息型別的列舉
拋出:
NullPointerException - 如果 captiontext 都為 null

getSize

public Dimension getSize()
返回托盤圖標在系統托盤上佔用的空間大小(以像素為單位)。對於尚未添加到系統托盤上的托盤圖標,返回的大小等於 SystemTray.getTrayIconSize() 的結果。

返回:
托盤圖標的大小(以像素為單位)
另請參見:
setImageAutoSize(boolean), Image, getSize()

JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only