Java Swing Tutorial - Java TrayIcon .removeActionListener (ActionListener listener)








Syntax

TrayIcon.removeActionListener(ActionListener listener) has the following syntax.

public void removeActionListener(ActionListener listener)

Example

In the following code shows how to use TrayIcon.removeActionListener(ActionListener listener) method.

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;
//  ww  w.  j  a  v a 2s.co  m
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");
    ti.setPopupMenu(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);
    
    ActionListener[] actionListeners = ti.getActionListeners();
    for(ActionListener ac: actionListeners){
      ti.removeActionListener(ac);  
    }
    
    
    tray.add(ti);
  }
}