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 classTrayIcon.MessageType
          MessageType 确定哪个图标将显示在消息标题中,以及消息根据显示生成的可能的系统声音。
 
构造方法摘要
TrayIcon(Image image)
          创建带有指定图像的 TrayIcon
TrayIcon(Image image, String tooltip)
          创建带有指定图像和工具提示文本的 TrayIcon
TrayIcon(Image image, String tooltip, PopupMenu popup)
          创建带指定图像、工具提示和弹出菜单的 TrayIcon
 
方法摘要
 voidaddActionListener(ActionListener listener)
          添加指定的动作侦听器,以接收发自此 TrayIconActionEvent
 voidaddMouseListener(MouseListener listener)
          添加指定的鼠标侦听器,以接收发自此 TrayIcon 的鼠标事件。
 voidaddMouseMotionListener(MouseMotionListener listener)
          添加指定的鼠标侦听器,以接收发自此 TrayIcon 的鼠标移动事件。
 voiddisplayMessage(String caption, String text, TrayIcon.MessageType messageType)
          在托盘图标附近显示弹出消息。
 StringgetActionCommand()
          返回由此托盘图标触发的动作事件的命令名。
 ActionListener[]getActionListeners()
          返回在已此 TrayIcon 上注册的所有动作侦听器的数组。
 ImagegetImage()
          返回用于此 TrayIcon 的当前图像。
 MouseListener[]getMouseListeners()
          返回已在此 TrayIcon 上注册的所有鼠标侦听器的数组。
 MouseMotionListener[]getMouseMotionListeners()
          返回已在此 TrayIcon 上注册的所有鼠标移动侦听器的数组。
 PopupMenugetPopupMenu()
          返回与此 TrayIcon 关联的弹出菜单。
 DimensiongetSize()
          返回托盘图标在系统托盘上占用的空间大小(以像素为单位)。
 StringgetToolTip()
          返回与此 TrayIcon 关联的工具提示字符串。
 booleanisImageAutoSize()
          返回自动调整大小属性的值。
 voidremoveActionListener(ActionListener listener)
          移除指定的动作侦听器。
 voidremoveMouseListener(MouseListener listener)
          移除指定的鼠标侦听器。
 voidremoveMouseMotionListener(MouseMotionListener listener)
          移除指定的鼠标移动侦听器。
 voidsetActionCommand(String command)
          设置由此托盘图标触发的动作事件的命令名。
 voidsetImage(Image image)
          设置此 TrayIcon 的图像。
 voidsetImageAutoSize(boolean autosize)
          设置自动调整大小的属性。
 voidsetPopupMenu(PopupMenu popup)
          设置此 TrayIcon 的弹出菜单。
 voidsetToolTip(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)