public class TrayIcon extends Object
TrayIcon
对象表示可被添加到一个托盘图标system tray
。
A TrayIcon
可以具有工具提示(文本),图像,弹出菜单和与之相关联的一组侦听器。
A 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
类概述。
SystemTray.add(java.awt.TrayIcon)
,
ComponentEvent.getComponent()
,
EventObject.getSource()
Modifier and Type | Class and Description |
---|---|
static class |
TrayIcon.MessageType
消息类型确定在消息的标题中将显示哪个图标,以及在显示时消息可能产生的可能的系统声音。
|
Constructor and Description |
---|
TrayIcon(Image image)
用指定的图像创建一个
TrayIcon 。
|
TrayIcon(Image image, String tooltip)
使用指定的图像和工具提示文本创建
TrayIcon 。
|
TrayIcon(Image image, String tooltip, PopupMenu popup)
创建一个
TrayIcon 与指定的图像,工具提示和弹出菜单。
|
Modifier and Type | Method and Description |
---|---|
void |
addActionListener(ActionListener listener)
添加指定的动作监听器以
ActionEvent 接收
TrayIcon 。
|
void |
addMouseListener(MouseListener listener)
添加指定的鼠标监听器以从此
TrayIcon 接收鼠标事件。
|
void |
addMouseMotionListener(MouseMotionListener listener)
添加指定的鼠标侦听器以从此接收鼠标移动事件
TrayIcon 。
|
void |
displayMessage(String caption, String text, TrayIcon.MessageType messageType)
在托盘图标附近显示弹出消息。
|
String |
getActionCommand()
返回此托盘图标触发的操作事件的命令名称。
|
ActionListener[] |
getActionListeners()
返回在此
TrayIcon 上
TrayIcon 的所有动作侦听器的
TrayIcon 。
|
Image |
getImage()
返回用于此
TrayIcon 的当前图像。
|
MouseListener[] |
getMouseListeners()
返回在此
TrayIcon 上
TrayIcon 的所有鼠标监听器的
TrayIcon 。
|
MouseMotionListener[] |
getMouseMotionListeners()
返回在此
TrayIcon 上
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 的工具提示字符串。
|
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
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
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
public void setImage(Image image)
TrayIcon
。
前一个托盘图标图像被丢弃而不调用Image.flush()
方法?
您将需要手动调用它。
如果图像代表动画图像,它将自动动画。
有关显示图像的大小的详细信息,请参阅setImageAutoSize(boolean)
属性。
使用当前使用的相同图像调用此方法无效。
image
- 要使用的非空值
Image
NullPointerException
- 如果
image
是
null
getImage()
, Image
, SystemTray.add(TrayIcon)
, TrayIcon(Image, String)
public Image getImage()
TrayIcon
的当前图像。
setImage(Image)
, Image
public void setPopupMenu(PopupMenu popup)
TrayIcon
的弹出菜单。
如果popup
是null
,则不会弹出菜单与此TrayIcon
。
请注意,此popup
不得在托盘图标上设置之前或之后添加到任何父项。 如果将其添加到某个父级,那么popup
可能会从父级中删除。
popup
只能设置在一个TrayIcon
上。 设置多个TrayIcon
的相同弹出窗口将导致IllegalArgumentException
。
注意:当用户右键单击托盘图标时,某些平台可能不支持显示用户指定的弹出菜单组件。 在这种情况下,不会显示任何菜单,或者在某些系统上可能会显示菜单的本地版本。
popup
- a
PopupMenu
或
null
删除任何弹出菜单
IllegalArgumentException
- 如果
popup
已经设置为另一个
TrayIcon
getPopupMenu()
public PopupMenu getPopupMenu()
TrayIcon
的弹出菜单。
null
如果不存在)
setPopupMenu(PopupMenu)
public void setToolTip(String tooltip)
TrayIcon
的工具提示字符串。
当鼠标悬停在图标上时,将自动显示工具提示。
将工具提示设置为null
可删除任何工具提示文本。
显示时,工具提示字符串可能在某些平台上被截断;
可能显示的字符数量取决于平台。
tooltip
- 工具提示的字符串;
如果值为null
则不显示工具提示
getToolTip()
public String getToolTip()
TrayIcon
的工具提示字符串。
null
如果不存在)
setToolTip(String)
public void setImageAutoSize(boolean autosize)
false
。
如果自动尺寸为false
,并且图像尺寸与托盘图标空间不匹配,则图像将在该空间内按原样绘制? 如果大于分配的空间,它将被裁剪。
如果自动尺寸为true
,图像将被拉伸或缩小以适应托盘图标空间。
autosize
-
true
自动调整图像的大小,
false
否则
isImageAutoSize()
public boolean isImageAutoSize()
true
如果图像将自动调整大小,
false
false
setImageAutoSize(boolean)
public void addMouseListener(MouseListener listener)
TrayIcon
接收鼠标事件。
使用null
值调用此方法无效。
注 : MouseEvent
的坐标(从收到TrayIcon
)是相对于屏幕,而不是TrayIcon
。
注意:不支持MOUSE_ENTERED
和MOUSE_EXITED
鼠标事件。
请参阅AWT Threading Issues有关AWT的线程模型的细节。
listener
- 鼠标监听器
MouseEvent
, MouseListener
, removeMouseListener(MouseListener)
, getMouseListeners()
public void removeMouseListener(MouseListener listener)
listener
- 鼠标监听器
MouseEvent
, MouseListener
, addMouseListener(MouseListener)
, getMouseListeners()
public MouseListener[] getMouseListeners()
TrayIcon
上
TrayIcon
的所有鼠标监听器的
TrayIcon
。
MouseListeners
注册在此
TrayIcon
或一个空数组,如果没有鼠标监听器当前注册
addMouseListener(MouseListener)
, removeMouseListener(MouseListener)
, MouseListener
public void addMouseMotionListener(MouseMotionListener listener)
TrayIcon
。
使用null
值调用此方法无效。
注 : MouseEvent
的坐标(从收到TrayIcon
)是相对于屏幕,而不是TrayIcon
。
注意:不支持MOUSE_DRAGGED
鼠标事件。
请参阅AWT Threading Issues有关AWT的线程模型的细节。
listener
- 鼠标监听器
MouseEvent
, MouseMotionListener
, removeMouseMotionListener(MouseMotionListener)
, getMouseMotionListeners()
public void removeMouseMotionListener(MouseMotionListener listener)
listener
- 鼠标监听器
MouseEvent
, MouseMotionListener
, addMouseMotionListener(MouseMotionListener)
, getMouseMotionListeners()
public MouseMotionListener[] getMouseMotionListeners()
TrayIcon
上
TrayIcon
的所有鼠标移动侦听器的
TrayIcon
。
MouseInputListeners
注册在这个
TrayIcon
或一个空数组,如果没有鼠标监听器当前注册
addMouseMotionListener(MouseMotionListener)
, removeMouseMotionListener(MouseMotionListener)
, MouseMotionListener
public String getActionCommand()
null
addActionListener(ActionListener)
,
setActionCommand(String)
public void setActionCommand(String command)
null
。
command
- 用于设置托盘图标的动作命令的字符串。
ActionEvent
, addActionListener(ActionListener)
, getActionCommand()
public void addActionListener(ActionListener listener)
ActionEvent
接收TrayIcon
。
当用户使用鼠标或键盘选择托盘图标时,通常会发生动作事件。
生成动作事件的条件取决于平台。
使用null
值调用此方法无效。
请参阅AWT Threading Issues有关AWT的线程模型的细节。
listener
- 动作侦听器
removeActionListener(java.awt.event.ActionListener)
, getActionListeners()
, ActionListener
, setActionCommand(String)
public void removeActionListener(ActionListener listener)
listener
- 动作侦听器
ActionEvent
, ActionListener
, addActionListener(ActionListener)
, getActionListeners()
, setActionCommand(String)
public ActionListener[] getActionListeners()
TrayIcon
上
TrayIcon
的所有动作侦听器的
TrayIcon
。
ActionListeners
注册在这个
TrayIcon
或一个空数组,如果没有行动监听器当前注册
addActionListener(ActionListener)
, removeActionListener(ActionListener)
, ActionListener
public void displayMessage(String caption, String text, TrayIcon.MessageType messageType)
ActionEvent
。
无论是标题或文本可能是null
,而是一个NullPointerException
被抛出,如果两者都null
。 显示时,标题或文本字符串可能在某些平台上被截断; 可能显示的字符数量取决于平台。
注意:某些平台可能不支持显示消息。
caption
- 文本上方显示的标题,通常以粗体显示;
可能是null
text
- 为特定消息显示的文本;
可能是null
messageType
- 指示消息类型的枚举
NullPointerException
- 如果
caption
和
text
都是
null
public Dimension getSize()
SystemTray.getTrayIconSize()
的结果。
setImageAutoSize(boolean)
, Image
, getSize()