- 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。有关如何使用
TrayIcon
API的示例,请参见SystemTray
类概述。- 从以下版本开始:
- 1.6
- 另请参见:
-
SystemTray.add(java.awt.TrayIcon)
,ComponentEvent.getComponent()
,EventObject.getSource()
-
-
嵌套类汇总
嵌套类 变量和类型 类 描述 static class
TrayIcon.MessageType
消息类型确定将在消息的标题中显示哪个图标,以及消息在显示时可能生成的系统声音。
-
方法摘要
所有方法 实例方法 具体的方法 变量和类型 方法 描述 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)
设置auto-size属性。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
- 要使用的非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
上设置。 在多个TrayIcon
s上设置相同的弹出窗口将导致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()
-
-