| 
     
   
import java.awt.Color; 
import java.awt.Dimension; 
import java.awt.Graphics; 
import java.awt.MenuItem; 
import java.awt.PopupMenu; 
import java.awt.SystemTray; 
import java.awt.TrayIcon; 
import java.awt.event.ActionEvent; 
import java.awt.event.ActionListener; 
import java.awt.event.MouseEvent; 
import java.awt.event.MouseListener; 
import java.awt.event.MouseMotionListener; 
import java.awt.image.BufferedImage; 
 
public class Main { 
  public static void main(String[] args) throws Exception { 
    if (!SystemTray.isSupported()) { 
      return; 
    } 
    SystemTray tray = SystemTray.getSystemTray(); 
 
    Dimension size = tray.getTrayIconSize(); 
    BufferedImage bi = new BufferedImage(size.width, size.height, BufferedImage.TYPE_INT_RGB); 
    Graphics g = bi.getGraphics(); 
 
    g.setColor(Color.blue); 
    g.fillRect(0, 0, size.width, size.height); 
 
    PopupMenu popup = new PopupMenu(); 
    MenuItem miExit = new MenuItem("Exit"); 
    ActionListener al; 
    al = new ActionListener() { 
      public void actionPerformed(ActionEvent e) { 
        System.exit(0); 
      } 
    }; 
    miExit.addActionListener(al); 
    popup.add(miExit); 
 
    TrayIcon ti = new TrayIcon(bi, "System Tray Demo #2", popup); 
 
    al = new ActionListener() { 
      public void actionPerformed(ActionEvent e) { 
        System.out.println(e.getActionCommand()); 
      } 
    }; 
    ti.setActionCommand("My Icon"); 
    ti.addActionListener(al); 
 
    MouseListener ml = 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"); 
      } 
    }; 
    ti.addMouseListener(ml); 
    MouseMotionListener mml = new MouseMotionListener() { 
      public void mouseDragged(MouseEvent e) { 
        System.out.println("Tray icon: Mouse dragged"); 
      } 
 
      public void mouseMoved(MouseEvent e) { 
        System.out.println("Tray icon: Mouse moved"); 
      } 
    }; 
    ti.addMouseMotionListener(mml); 
    tray.add(ti); 
  } 
} 
 
    
     
   
    
    |