- java.lang.Object
-
- java.awt.TrayIcon
-
public class TrayIcon extends Object
一个TrayIcon
对象表示可以添加到system tray
的托盘图标。 ATrayIcon
可以具有工具提示(文本),图像,弹出式菜单以及与之相关的一组侦听器。A
TrayIcon
可以生成各种MouseEvents
,并支持添加相应的收听者来接收这些事件的通知。TrayIcon
处理一些事件。 例如,默认情况下,当对TrayIcon
执行鼠标右键单击时,它会显示指定的弹出菜单。 当鼠标悬停在TrayIcon
,显示工具提示(此行为依赖于平台)。注意:当
MouseEvent
发送到其注册听众时,其component
属性将设置为null
。 (见ComponentEvent.getComponent()
)source
属性将设置为TrayIcon
。 (见EventObject.getSource()
)注意:良好的
TrayIcon
实现将分配不同的手势来显示弹出菜单和选择托盘图标。A
TrayIcon
可以生成一个ActionEvent
。 在某些平台上,当用户使用鼠标或键盘选择托盘图标时,会发生这种情况。如果安装了SecurityManager,则必须授予
accessSystemTray
才能创建一个TrayIcon
。 否则构造函数将抛出一个SecurityException。有关如何使用
TrayIcon
API的示例,请参阅SystemTray
课程概述。- 从以下版本开始:
- 1.6
- 另请参见:
-
SystemTray.add(java.awt.TrayIcon)
,ComponentEvent.getComponent()
,EventObject.getSource()
-
-
Nested Class Summary
Nested Classes Modifier and Type Class 描述 static class
TrayIcon.MessageType
消息类型确定在消息的标题中将显示哪个图标,以及在显示时消息可能产生的可能的系统声音。
-
方法摘要
所有方法 接口方法 具体的方法 Modifier and Type 方法 描述 void
addActionListener(ActionListener listener)
添加指定的操作侦听器以接收ActionEvent
从这个STrayIcon
。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
上注册的所有鼠标移动侦听器的TrayIcon
。PopupMenu
getPopupMenu()
返回与此TrayIcon
相关联的弹出菜单。Dimension
getSize()
返回托盘图标在系统托盘中占用的空间大小(以像素为单位)。String
getToolTip()
返回与此TrayIcon
相关联的工具提示字符串。boolean
isImageAutoSize()
返回auto-size属性的值。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
的工具提示字符串。
-
-
-
构造方法详细信息
-
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
- 要使用的非空Image
- 异常
-
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
上设置。 在多个TrayIcon
上设置相同的弹出窗口将导致一个IllegalArgumentException
。注意:当用户右键单击托盘图标时,某些平台可能不支持显示用户指定的弹出菜单组件。 在这种情况下,不会显示任何菜单,或者在某些系统上可能会显示菜单的本地版本。
- 参数
-
popup
- aPopupMenu
或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属性设置为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)
添加指定的动作侦听器以从此TrayIcon
接收ActionEvent
s。 当用户使用鼠标或键盘选择托盘图标时,通常会发生动作事件。 生成动作事件的条件取决于平台。使用
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()
-
-