/* * Usefull reading stuff: * http://java.sun.com/developer/technicalArticles/J2SE/Desktop/javase6/systemtray/ **/ import java.awt.AWTException; import java.awt.Image; import java.awt.MenuItem; import java.awt.PopupMenu; import java.awt.SystemTray; import java.awt.Toolkit; import java.awt.TrayIcon; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.MouseEvent; import java.awt.event.MouseListener; public class SystemTrayIcon { public static void main(String [] args) { //Tray Icon variable final TrayIcon trayIcon; //Check to see Tray Icon is supported if (SystemTray.isSupported()) { //Getting system Tray Area SystemTray tray = SystemTray.getSystemTray(); //**** PATH TO YOUR GIF FILE Image image = Toolkit.getDefaultToolkit().getImage("Duke32.gif"); //Adding mouse listener MouseListener mouseListener = new MouseListener() { public void mouseClicked(MouseEvent e) { System.out.println("Tray Icon - Mouse clicked!"); } public void mouseEntered(MouseEvent e) { System.out.println("Tray Icon - Mouse entered!"); } public void mouseExited(MouseEvent e) { System.out.println("Tray Icon - Mouse exited!"); } public void mousePressed(MouseEvent e) { System.out.println("Tray Icon - Mouse pressed!"); } public void mouseReleased(MouseEvent e) { System.out.println("Tray Icon - Mouse released!"); } }; ActionListener exitListener = new ActionListener() { public void actionPerformed(ActionEvent e) { System.out.println("Exiting..."); System.exit(0); } }; //adding the pop up menu and its item PopupMenu popup = new PopupMenu(); MenuItem defaultItem = new MenuItem("Exit"); defaultItem.addActionListener(exitListener); popup.add(defaultItem); //initialise the TrayIcon trayIcon = new TrayIcon(image, "Tray Demo", popup); //Add action listener to TrayIcon ActionListener actionListener = new ActionListener() { public void actionPerformed(ActionEvent e) { trayIcon.displayMessage("Action Event", "An Action Event Has Been Performed!", TrayIcon.MessageType.ERROR); } }; trayIcon.setImageAutoSize(true); trayIcon.addActionListener(actionListener); trayIcon.addMouseListener(mouseListener); try { tray.add(trayIcon); } catch (AWTException e) { System.err.println("TrayIcon could not be added."); } } else { System.out.println("System Tray is not supported"); } } }