Mega Code Archive

 
Categories / Java Tutorial / Swing
 

Add Mouse motion listener to TrayIcon

import java.awt.AWTException; 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 SystemTrayDemo2 {   public static void main(String[] args) {     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);     g.setColor(Color.yellow);     int ovalSize = (size.width < size.height) ? size.width : size.height;     ovalSize /= 2;     g.fillOval(size.width / 4, size.height / 4, ovalSize, ovalSize);     try {       PopupMenu popup = new PopupMenu();       MenuItem miExit = new MenuItem("Exit");       ActionListener al;       al = new ActionListener() {         public void actionPerformed(ActionEvent e) {           System.out.println("Goodbye");           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;       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;       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);     } catch (AWTException e) {       System.out.println(e.getMessage());       return;     }   } }