- 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。有关如何使用
TrayIconAPI的示例,请参阅SystemTray课程概述。- 从以下版本开始:
- 1.6
- 另请参见:
-
SystemTray.add(java.awt.TrayIcon),ComponentEvent.getComponent(),EventObject.getSource()
-
-
Nested Class Summary
Nested Classes Modifier and Type Class 描述 static classTrayIcon.MessageType消息类型确定在消息的标题中将显示哪个图标,以及在显示时消息可能产生的可能的系统声音。
-
方法摘要
所有方法 接口方法 具体的方法 Modifier and Type 方法 描述 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)设置自动大小属性。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- 要使用的非空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接收ActionEvents。 当用户使用鼠标或键盘选择托盘图标时,通常会发生动作事件。 生成动作事件的条件取决于平台。使用
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()
-
-