Main.java Source code

Java tutorial

Introduction

Here is the source code for Main.java

Source

import java.awt.AWTException;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.SystemTray;
import java.awt.TrayIcon;
import java.awt.image.BufferedImage;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;

public class Main {
    public static void main(String[] args) throws Exception {
        if (!SystemTray.isSupported()) {
            return;
        }
        SystemTray tray = SystemTray.getSystemTray();

        PropertyChangeListener pcl;
        pcl = new PropertyChangeListener() {
            public void propertyChange(PropertyChangeEvent pce) {
                System.out.println("Property changed = " + pce.getPropertyName());
                TrayIcon[] tia = (TrayIcon[]) pce.getOldValue();
                if (tia != null) {
                    for (int i = 0; i < tia.length; i++)
                        System.out.println(tia[i]);
                }

                tia = (TrayIcon[]) pce.getNewValue();
                if (tia != null) {
                    for (int i = 0; i < tia.length; i++)
                        System.out.println(tia[i]);
                }
            }
        };
        tray.addPropertyChangeListener("trayIcons", pcl);
        PropertyChangeListener[] listeners = tray.getPropertyChangeListeners("trayIcons");

        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);
        TrayIcon icon = null;
        tray.add(icon = new TrayIcon(bi));

        Thread.sleep(3000);
        tray.remove(icon);

        Thread.sleep(3000);
        System.exit(0);
    }

}