public class TrayIcon extends Object
TrayIcon object represents a tray icon that can be added to the
system tray. A
TrayIcon can have a tooltip (text), an image, a popup menu, and a set of listeners associated with it.
A TrayIcon can generate various MouseEvents and supports adding corresponding listeners to receive notification of these events. TrayIcon processes some of the events by itself. For example, by default, when the right-mouse click is performed on the TrayIcon it displays the specified popup menu. When the mouse hovers over the TrayIcon the tooltip is displayed.
Note: When the MouseEvent is dispatched to its registered listeners its component property will be set to null. (See ComponentEvent) The source property will be set to this TrayIcon. (See EventObject)
Note: A well-behaved TrayIcon implementation will assign different gestures to showing a popup menu and selecting a tray icon.
A TrayIcon can generate an ActionEvent. On some platforms, this occurs when the user selects the tray icon using either the mouse or keyboard.
If a SecurityManager is installed, the AWTPermission accessSystemTray must be granted in order to create a TrayIcon. Otherwise the constructor will throw a SecurityException.
See the SystemTray class overview for an example on how to use the TrayIcon API.
SystemTray.add(java.awt.TrayIcon) ,
ComponentEvent.getComponent() ,
EventObject.getSource()
| Modifier and Type | Class and Description |
|---|---|
static class |
TrayIcon
The message type determines which icon will be displayed in the caption of the message, and a possible system sound a message may generate upon showing.
|
| Constructor and Description |
|---|
TrayIcon(Image
Creates a
TrayIcon with the specified image.
|
TrayIcon(Image
Creates a
TrayIcon with the specified image and tooltip text.
|
TrayIcon(Image
Creates a
TrayIcon with the specified image, tooltip and popup menu.
|
| Modifier and Type | Method and Description |
|---|---|
void |
addActionListener(ActionListener
Adds the specified action listener to receive
ActionEvents from this
TrayIcon.
|
void |
addMouseListener(MouseListener
Adds the specified mouse listener to receive mouse events from this
TrayIcon.
|
void |
addMouseMotionListener(MouseMotionListener
Adds the specified mouse listener to receive mouse-motion events from this
TrayIcon.
|
void |
displayMessage(String
Displays a popup message near the tray icon.
|
String |
getActionCommand()
Returns the command name of the action event fired by this tray icon.
|
ActionListener |
getActionListeners()
Returns an array of all the action listeners registered on this
TrayIcon.
|
Image |
getImage()
Returns the current image used for this
TrayIcon.
|
MouseListener |
getMouseListeners()
Returns an array of all the mouse listeners registered on this
TrayIcon.
|
MouseMotionListener |
getMouseMotionListeners()
Returns an array of all the mouse-motion listeners registered on this
TrayIcon.
|
PopupMenu |
getPopupMenu()
Returns the popup menu associated with this
TrayIcon.
|
Dimension |
getSize()
Returns the size, in pixels, of the space that the tray icon occupies in the system tray.
|
String |
getToolTip()
Returns the tooltip string associated with this
TrayIcon.
|
boolean |
isImageAutoSize()
Returns the value of the auto-size property.
|
void |
removeActionListener(ActionListener
Removes the specified action listener.
|
void |
removeMouseListener(MouseListener
Removes the specified mouse listener.
|
void |
removeMouseMotionListener(MouseMotionListener
Removes the specified mouse-motion listener.
|
void |
setActionCommand(String
Sets the command name for the action event fired by this tray icon.
|
void |
setImage(Image
Sets the image for this
TrayIcon.
|
void |
setImageAutoSize(boolean autosize)
Sets the auto-size property.
|
void |
setPopupMenu(PopupMenu
Sets the popup menu for this
TrayIcon.
|
void |
setToolTip(String
Sets the tooltip string for this
TrayIcon.
|
public TrayIcon(Imageimage)
TrayIcon with the specified image.
image - the
Image to be used
IllegalArgumentException - if
image is
null
UnsupportedOperationException - if the system tray isn't supported by the current platform
HeadlessException - if
GraphicsEnvironment.isHeadless() returns
true
SecurityException - if
accessSystemTray permission is not granted
SystemTray.add(TrayIcon) ,
TrayIcon(Image, String, PopupMenu),
TrayIcon(Image, String),
SecurityManager.checkPermission(java.security.Permission) ,
AWTPermission
public TrayIcon(Imageimage, String tooltip)
TrayIcon with the specified image and tooltip text.
image - the
Image to be used
tooltip - the string to be used as tooltip text; if the value is
null no tooltip is shown
IllegalArgumentException - if
image is
null
UnsupportedOperationException - if the system tray isn't supported by the current platform
HeadlessException - if
GraphicsEnvironment.isHeadless() returns
true
SecurityException - if
accessSystemTray permission is not granted
SystemTray.add(TrayIcon) ,
TrayIcon(Image),
TrayIcon(Image, String, PopupMenu),
SecurityManager.checkPermission(java.security.Permission) ,
AWTPermission
public TrayIcon(Imageimage, String tooltip, PopupMenu popup)
TrayIcon with the specified image, tooltip and popup menu.
image - the
Image to be used
tooltip - the string to be used as tooltip text; if the value is
null no tooltip is shown
popup - the menu to be used for the tray icon's popup menu; if the value is
null no popup menu is shown
IllegalArgumentException - if
image is
null
UnsupportedOperationException - if the system tray isn't supported by the current platform
HeadlessException - if
GraphicsEnvironment.isHeadless() returns
true
SecurityException - if
accessSystemTray permission is not granted
SystemTray.add(TrayIcon) ,
TrayIcon(Image, String),
TrayIcon(Image),
PopupMenu,
MouseListener,
addMouseListener(MouseListener),
SecurityManager.checkPermission(java.security.Permission) ,
AWTPermission
public void setImage(Imageimage)
TrayIcon. The previous tray icon image is discarded without calling the
Image.flush() method you will need to call it manually.
If the image represents an animated image, it will be animated automatically.
See the setImageAutoSize(boolean) property for details on the size of the displayed image.
Calling this method with the same image that is currently being used has no effect.
image - the non-null
Image to be used
NullPointerException - if
image is
null
getImage(),
Image,
SystemTray.add(TrayIcon) ,
TrayIcon(Image, String)
public ImagegetImage()
TrayIcon.
setImage(Image),
Image
public void setPopupMenu(PopupMenupopup)
TrayIcon. If
popup is
null, no popup menu will be associated with this
TrayIcon.
Note that this popup must not be added to any parent before or after it is set on the tray icon. If you add it to some parent, the popup may be removed from that parent.
The popup can be set on one TrayIcon only. Setting the same popup on multiple TrayIcons will cause an IllegalArgumentException.
Note: Some platforms may not support showing the user-specified popup menu component when the user right-clicks the tray icon. In this situation, either no menu will be displayed or, on some systems, a native version of the menu may be displayed.
popup - a
PopupMenu or
null to remove any popup menu
IllegalArgumentException - if the
popup is already set for another
TrayIcon
getPopupMenu()
public PopupMenugetPopupMenu()
TrayIcon.
null if none exists
setPopupMenu(PopupMenu)
public void setToolTip(Stringtooltip)
TrayIcon. The tooltip is displayed automatically when the mouse hovers over the icon. Setting the tooltip to
null removes any tooltip text. When displayed, the tooltip string may be truncated on some platforms; the number of characters that may be displayed is platform-dependent.
tooltip - the string for the tooltip; if the value is
null no tooltip is shown
getToolTip()
public StringgetToolTip()
TrayIcon.
null if none exists
setToolTip(String)
public void setImageAutoSize(boolean autosize)
false.
If auto-size is false, and the image size doesn't match the tray icon space, the image is painted as-is inside that space if larger than the allocated space, it will be cropped.
If auto-size is true, the image is stretched or shrunk to fit the tray icon space.
autosize -
true to auto-size the image,
false otherwise
isImageAutoSize()
public boolean isImageAutoSize()
true if the image will be auto-sized,
false otherwise
setImageAutoSize(boolean)
public void addMouseListener(MouseListenerlistener)
TrayIcon. Calling this method with a
null value has no effect.
Note: The MouseEvent's coordinates (received from the TrayIcon) are relative to the screen, not the TrayIcon.
Note: The MOUSE_ENTERED and MOUSE_EXITED mouse events are not supported.
Refer to AWT Threading Issues for details on AWT's threading model.
listener - the mouse listener
MouseEvent,
MouseListener,
removeMouseListener(MouseListener),
getMouseListeners()
public void removeMouseListener(MouseListenerlistener)
null or an invalid value has no effect.
Refer to AWT Threading Issues for details on AWT's threading model.
listener - the mouse listener
MouseEvent,
MouseListener,
addMouseListener(MouseListener),
getMouseListeners()
public MouseListener[] getMouseListeners()
TrayIcon.
MouseListeners registered on this
TrayIcon or an empty array if no mouse listeners are currently registered
addMouseListener(MouseListener),
removeMouseListener(MouseListener),
MouseListener
public void addMouseMotionListener(MouseMotionListenerlistener)
TrayIcon. Calling this method with a
null value has no effect.
Note: The MouseEvent's coordinates (received from the TrayIcon) are relative to the screen, not the TrayIcon.
Note: The MOUSE_DRAGGED mouse event is not supported.
Refer to AWT Threading Issues for details on AWT's threading model.
listener - the mouse listener
MouseEvent,
MouseMotionListener,
removeMouseMotionListener(MouseMotionListener),
getMouseMotionListeners()
public void removeMouseMotionListener(MouseMotionListenerlistener)
null or an invalid value has no effect.
Refer to AWT Threading Issues for details on AWT's threading model.
listener - the mouse listener
MouseEvent,
MouseMotionListener,
addMouseMotionListener(MouseMotionListener),
getMouseMotionListeners()
public MouseMotionListener[] getMouseMotionListeners()
TrayIcon.
MouseInputListeners registered on this
TrayIcon or an empty array if no mouse listeners are currently registered
addMouseMotionListener(MouseMotionListener),
removeMouseMotionListener(MouseMotionListener),
MouseMotionListener
public StringgetActionCommand()
null if none exists
addActionListener(ActionListener),
setActionCommand(String)
public void setActionCommand(Stringcommand)
null.
command - a string used to set the tray icon's action command.
ActionEvent,
addActionListener(ActionListener),
getActionCommand()
public void addActionListener(ActionListenerlistener)
ActionEvents from this
TrayIcon. Action events usually occur when a user selects the tray icon, using either the mouse or keyboard. The conditions in which action events are generated are platform-dependent.
Calling this method with a null value has no effect.
Refer to AWT Threading Issues for details on AWT's threading model.
listener - the action listener
removeActionListener(java.awt.event.ActionListener),
getActionListeners(),
ActionListener,
setActionCommand(String)
public void removeActionListener(ActionListenerlistener)
null or an invalid value has no effect.
Refer to AWT Threading Issues for details on AWT's threading model.
listener - the action listener
ActionEvent,
ActionListener,
addActionListener(ActionListener),
getActionListeners(),
setActionCommand(String)
public ActionListener[] getActionListeners()
TrayIcon.
ActionListeners registered on this
TrayIcon or an empty array if no action listeners are currently registered
addActionListener(ActionListener),
removeActionListener(ActionListener),
ActionListener
public void displayMessage(Stringcaption, String text, TrayIcon .MessageType messageType)
ActionEvent.
Either the caption or the text may be null, but an NullPointerException is thrown if both are null. When displayed, the caption or text strings may be truncated on some platforms; the number of characters that may be displayed is platform-dependent.
Note: Some platforms may not support showing a message.
caption - the caption displayed above the text, usually in bold; may be
null
text - the text displayed for the particular message; may be
null
messageType - an enum indicating the message type
NullPointerException - if both
caption and
text are
null
public DimensiongetSize()
SystemTray.getTrayIconSize() .
setImageAutoSize(boolean),
Image,
getSize()