diff --git a/jdk/src/share/classes/java/awt/SystemTray.java b/jdk/src/share/classes/java/awt/SystemTray.java
index 650821e726e..7d193fc6e65 100644
--- a/jdk/src/share/classes/java/awt/SystemTray.java
+++ b/jdk/src/share/classes/java/awt/SystemTray.java
@@ -125,6 +125,8 @@ public class SystemTray {
transient private SystemTrayPeer peer;
+ private static final TrayIcon[] EMPTY_TRAY_ARRAY = new TrayIcon[0];
+
/**
* Private SystemTray constructor.
*
@@ -203,13 +205,12 @@ public class SystemTray {
public static boolean isSupported() {
initializeSystemTrayIfNeeded();
- if (Toolkit.getDefaultToolkit() instanceof SunToolkit) {
+ Toolkit toolkit = Toolkit.getDefaultToolkit();
- return ((SunToolkit)Toolkit.getDefaultToolkit()).isTraySupported();
-
- } else if (Toolkit.getDefaultToolkit() instanceof HeadlessToolkit) {
-
- return ((HeadlessToolkit)Toolkit.getDefaultToolkit()).isTraySupported();
+ if (toolkit instanceof SunToolkit) {
+ return ((SunToolkit)toolkit).isTraySupported();
+ } else if (toolkit instanceof HeadlessToolkit) {
+ return ((HeadlessToolkit)toolkit).isTraySupported();
}
return false;
}
@@ -323,7 +324,7 @@ public class SystemTray {
if (icons != null) {
return (TrayIcon[])icons.toArray(new TrayIcon[icons.size()]);
}
- return new TrayIcon[0];
+ return EMPTY_TRAY_ARRAY;
}
/**
diff --git a/jdk/src/share/classes/java/awt/TrayIcon.java b/jdk/src/share/classes/java/awt/TrayIcon.java
index 32ee66c25ba..d3a6e570feb 100644
--- a/jdk/src/share/classes/java/awt/TrayIcon.java
+++ b/jdk/src/share/classes/java/awt/TrayIcon.java
@@ -142,9 +142,6 @@ public class TrayIcon {
*/
public TrayIcon(Image image) {
this();
- if (image == null) {
- throw new IllegalArgumentException("creating TrayIcon with null Image");
- }
setImage(image);
}
@@ -433,7 +430,7 @@ public class TrayIcon {
* @see java.awt.event.MouseListener
*/
public synchronized MouseListener[] getMouseListeners() {
- return (MouseListener[])(getListeners(MouseListener.class));
+ return AWTEventMulticaster.getListeners(mouseListener, MouseListener.class);
}
/**
@@ -494,7 +491,7 @@ public class TrayIcon {
* @see java.awt.event.MouseMotionListener
*/
public synchronized MouseMotionListener[] getMouseMotionListeners() {
- return (MouseMotionListener[]) (getListeners(MouseMotionListener.class));
+ return AWTEventMulticaster.getListeners(mouseMotionListener, MouseMotionListener.class);
}
/**
@@ -581,7 +578,7 @@ public class TrayIcon {
* @see java.awt.event.ActionListener
*/
public synchronized ActionListener[] getActionListeners() {
- return (ActionListener[])(getListeners(ActionListener.class));
+ return AWTEventMulticaster.getListeners(actionListener, ActionListener.class);
}
/**
@@ -635,7 +632,7 @@ public class TrayIcon {
TrayIconPeer peer = this.peer;
if (peer != null) {
- peer.displayMessage(caption, text, messageType.toString());
+ peer.displayMessage(caption, text, messageType.name());
}
}
@@ -657,18 +654,6 @@ public class TrayIcon {
// ****************************************************************
// ****************************************************************
- T[] getListeners(Class listenerType) {
- EventListener l = null;
- if (listenerType == MouseListener.class) {
- l = mouseListener;
- } else if (listenerType == MouseMotionListener.class) {
- l = mouseMotionListener;
- } else if (listenerType == ActionListener.class) {
- l = actionListener;
- }
- return AWTEventMulticaster.getListeners(l, listenerType);
- }
-
void addNotify()
throws AWTException
{