Java Swing Tutorial - Java TrayIcon(Image image, String tooltip, PopupMenu popup) Constructor








Syntax

TrayIcon(Image image, String tooltip, PopupMenu popup) constructor from TrayIcon has the following syntax.

public TrayIcon(Image image,   String tooltip,   PopupMenu popup)

Example

In the following code shows how to use TrayIcon.TrayIcon(Image image, String tooltip, PopupMenu popup) constructor.

//from w  w w .  j a v  a  2  s.c  o m

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);
  }
}