- java.lang.Object
-
- java.awt.TrayIcon
-
public class TrayIcon extends Object
TrayIcon对象表示可添加到system tray的托盘图标。TrayIcon可以具有工具提示(文本),图像,弹出菜单以及与之关联的一组侦听器。TrayIcon可以生成各种MouseEvents并支持添加相应的侦听器以接收这些事件的通知。TrayIcon处理一些事件。 例如,默认情况下,在TrayIcon上执行鼠标右键时,它会显示指定的弹出菜单。 当鼠标悬停在TrayIcon,将显示工具提示(此行为取决于平台)。注意:当
MouseEvent被调度到其注册的侦听器时,其component属性将设置为null。 (请参阅ComponentEvent.getComponent())source属性将设置为此TrayIcon。 (见EventObject.getSource())注意:一个表现良好的
TrayIcon实现将分配不同的手势来显示弹出菜单并选择托盘图标。A
TrayIcon可生成ActionEvent。 在某些平台上,当用户使用鼠标或键盘选择托盘图标时会发生这种情况。如果安装了SecurityManager,则必须授予AWTPermission
accessSystemTray才能创建TrayIcon。 否则构造函数将抛出SecurityException。有关如何使用
TrayIconAPI的示例,请参见SystemTray类概述。- 从以下版本开始:
- 1.6
- 另请参见:
-
SystemTray.add(java.awt.TrayIcon),ComponentEvent.getComponent(),EventObject.getSource()
-
-
嵌套类汇总
嵌套类 变量和类型 类 描述 static classTrayIcon.MessageType消息类型确定将在消息的标题中显示哪个图标,以及消息在显示时可能生成的系统声音。
-
方法摘要
所有方法 实例方法 具体的方法 变量和类型 方法 描述 voidaddActionListener(ActionListener listener)添加指定的操作侦听器以接收ActionEvent从这个STrayIcon。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上注册的所有鼠标移动侦听器的TrayIcon。PopupMenugetPopupMenu()返回与此TrayIcon关联的弹出菜单。DimensiongetSize()返回托盘图标在系统托盘中占用的空间的大小(以像素为单位)。StringgetToolTip()返回与此TrayIcon关联的工具提示字符串。booleanisImageAutoSize()返回auto-size属性的值。voidremoveActionListener(ActionListener listener)删除指定的动作侦听器。voidremoveMouseListener(MouseListener listener)删除指定的鼠标侦听器。voidremoveMouseMotionListener(MouseMotionListener listener)删除指定的鼠标移动侦听器。voidsetActionCommand(String command)设置此托盘图标触发的动作事件的命令名称。voidsetImage(Image image)设置此TrayIcon的图像。voidsetImageAutoSize(boolean autosize)设置auto-size属性。voidsetPopupMenu(PopupMenu popup)设置此TrayIcon的弹出菜单。voidsetToolTip(String tooltip)设置此TrayIcon的工具提示字符串。
-
-
-
构造方法详细信息
-
TrayIcon
public TrayIcon(Image image)
使用指定的图像创建TrayIcon。- 参数
-
image- 要使用的Image - 异常
-
IllegalArgumentException- 如果image是null -
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- 如果image是null -
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- 如果image是null -
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- 要使用的非nullImage - 异常
-
NullPointerException- 如果image是null - 另请参见:
-
getImage(),Image,SystemTray.add(TrayIcon),TrayIcon(Image, String)
-
getImage
public Image getImage()
返回用于此TrayIcon的当前图像。- 结果
- 图片
- 另请参见:
-
setImage(Image),Image
-
setPopupMenu
public void setPopupMenu(PopupMenu popup)
设置此TrayIcon的弹出菜单。 如果popup是null,则没有与此TrayIcon关联的弹出菜单。请注意,在托盘图标上设置之前或之后,不得将此
popup添加到任何父级。 如果将其添加到某个父级,则可以从该父级中删除popup。popup只能在一个TrayIcon上设置。 在多个TrayIcons上设置相同的弹出窗口将导致IllegalArgumentException。注意:当用户右键单击托盘图标时,某些平台可能不支持显示用户指定的弹出菜单组件。 在这种情况下,要么不显示菜单,要么在某些系统上,可能会显示菜单的本机版本。
- 参数
-
popup-PopupMenu或null删除任何弹出菜单 - 异常
-
IllegalArgumentException- 如果popup已经设置为另一个TrayIcon - 另请参见:
-
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)
设置auto-size属性。 自动尺寸确定托盘图像是否自动调整大小以适合为托盘上的图像分配的空间。 默认情况下,auto-size属性设置为false。如果自动尺寸为
false,并且图像尺寸与托盘图标空间不匹配,则图像将按原样绘制在该空间内 - 如果大于分配的空间,则将对其进行裁剪。如果自动尺寸为
true,则图像会拉伸或缩小以适合托盘图标空间。- 参数
-
autosize-true自动调整大小,false否则 - 另请参见:
-
isImageAutoSize()
-
isImageAutoSize
public boolean isImageAutoSize()
返回auto-size属性的值。- 结果
-
true如果图像将自动调整大小,false - 另请参见:
-
setImageAutoSize(boolean)
-
addMouseListener
public void addMouseListener(MouseListener listener)
添加指定的鼠标侦听器以从此TrayIcon接收鼠标事件。 使用null值调用此方法无效。注意 :
MouseEvent的坐标(从TrayIcon收到)是相对于屏幕而不是TrayIcon。注意:不支持
MOUSE_ENTERED和MOUSE_EXITED鼠标事件。有关AWT线程模型的详细信息,请参阅AWT Threading Issues 。
- 参数
-
listener- 鼠标监听器 - 另请参见:
-
MouseEvent,MouseListener,removeMouseListener(MouseListener),getMouseListeners()
-
removeMouseListener
public void removeMouseListener(MouseListener listener)
- 参数
-
listener- 鼠标侦听器 - 另请参见:
-
MouseEvent,MouseListener,addMouseListener(MouseListener),getMouseListeners()
-
getMouseListeners
public MouseListener[] getMouseListeners()
返回在此TrayIcon上注册的所有鼠标侦听器的数组。- 结果
-
所有
MouseListeners在此TrayIcon上注册或者如果当前没有注册鼠标侦听器则为空数组 - 另请参见:
-
addMouseListener(MouseListener),removeMouseListener(MouseListener),MouseListener
-
addMouseMotionListener
public void addMouseMotionListener(MouseMotionListener listener)
添加指定的鼠标侦听器以从此TrayIcon接收鼠标移动事件。 使用null值调用此方法无效。注意 :
MouseEvent的坐标(从TrayIcon收到)是相对于屏幕的,而不是TrayIcon。注意:不支持
MOUSE_DRAGGED鼠标事件。有关AWT螺纹模型的详细信息,请参阅AWT Threading Issues 。
- 参数
-
listener- 鼠标侦听器 - 另请参见:
-
MouseEvent,MouseMotionListener,removeMouseMotionListener(MouseMotionListener),getMouseMotionListeners()
-
removeMouseMotionListener
public void removeMouseMotionListener(MouseMotionListener listener)
- 参数
-
listener- 鼠标监听器 - 另请参见:
-
MouseEvent,MouseMotionListener,addMouseMotionListener(MouseMotionListener),getMouseMotionListeners()
-
getMouseMotionListeners
public MouseMotionListener[] getMouseMotionListeners()
返回在此TrayIcon上注册的所有鼠标移动侦听器的TrayIcon。- 结果
-
所有的
MouseInputListeners此上注册TrayIcon一个空数组,如果没有鼠标侦听当前已注册 - 另请参见:
-
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)
添加指定的操作侦听器以接收ActionEvent从这个STrayIcon。 当用户使用鼠标或键盘选择托盘图标时,通常会发生操作事件。 生成操作事件的条件取决于平台。使用
null值调用此方法无效。有关AWT螺纹模型的详细信息,请参阅AWT Threading Issues 。
- 参数
-
listener- 动作侦听器 - 另请参见:
-
removeActionListener(java.awt.event.ActionListener),getActionListeners(),ActionListener,setActionCommand(String)
-
removeActionListener
public void removeActionListener(ActionListener listener)
- 参数
-
listener- 动作侦听器 - 另请参见:
-
ActionEvent,ActionListener,addActionListener(ActionListener),getActionListeners(),setActionCommand(String)
-
getActionListeners
public ActionListener[] getActionListeners()
返回在此TrayIcon上注册的所有动作侦听器的数组。- 结果
-
所有的
ActionListeners这个上注册TrayIcon一个空数组,如果没有操作侦听当前已注册 - 另请参见:
-
addActionListener(ActionListener),removeActionListener(ActionListener),ActionListener
-
displayMessage
public void displayMessage(String caption, String text, TrayIcon.MessageType messageType)
在托盘图标附近显示弹出消息。 一段时间后或用户点击该消息后,该消息将消失。 单击该消息可能会触发ActionEvent。无论是标题或文本可能是
null,而是NullPointerException抛出如果两者都null。 显示时,标题或文本字符串可能会在某些平台上被截断; 可显示的字符数取决于平台。注意:某些平台可能不支持显示消息。
- 参数
-
caption- 文本上方显示的标题,通常以粗体显示; 可能是null -
text- 为特定消息显示的文本; 可能是null -
messageType- 指示消息类型的枚举 - 异常
-
NullPointerException- 如果caption和text都是null
-
getSize
public Dimension getSize()
返回托盘图标在系统托盘中占用的空间的大小(以像素为单位)。 对于尚未添加到系统托盘的托盘图标,返回的大小等于SystemTray.getTrayIconSize()的结果。- 结果
- 托盘图标的大小(以像素为单位)
- 另请参见:
-
setImageAutoSize(boolean),Image,getSize()
-
-