Ecco un esempio completo:
codice:
import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.imageio.*;
public class TrayIconTestFrame extends JFrame
{
private SystemTray sysTray;
private TrayIcon trayIcon;
public TrayIconTestFrame (Image iconImg)
{
super ("Tray icon test");
setDefaultCloseOperation (JFrame.EXIT_ON_CLOSE);
setSize (300, 300);
sysTray = SystemTray.getSystemTray ();
trayIcon = new TrayIcon (iconImg, "Prova icona nella tray-bar");
addWindowListener (new WindowAdapter ()
{
public void windowIconified (WindowEvent we)
{
setVisible (false);
try {
sysTray.add (trayIcon);
} catch (Exception e) { }
}
});
trayIcon.addActionListener (new ActionListener ()
{
public void actionPerformed (ActionEvent ae)
{
setVisible (true);
setState (NORMAL);
sysTray.remove (trayIcon);
}
});
}
public static void main (String[] args)
{
try
{
final Image iconImg = ImageIO.read (TrayIconTestFrame.class.getResource ("trayicon.gif"));
SwingUtilities.invokeLater (new Runnable ()
{
public void run ()
{
TrayIconTestFrame f = new TrayIconTestFrame (iconImg);
f.setVisible (true);
}
});
}
catch (Exception e)
{
System.out.println (e);
}
}
}