All pastes #793091 Raw Edit

Unnamed

public text v1 · immutable
·published 2007-11-21 23:00 UTC
rendered paste body
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
import java.awt.datatransfer.*;
import java.lang.reflect.InvocationTargetException;
public class Dayquil {
	static class ShowMessageListener implements ActionListener {
		TrayIcon trayIcon;
		String title;
		String message;
		TrayIcon.MessageType messageType;

		ShowMessageListener(TrayIcon trayIcon, String title, String message,
				TrayIcon.MessageType messageType) {
			this.trayIcon = trayIcon;
			this.title = title;
			this.message = message;
			this.messageType = messageType;
		}

		
		public void actionPerformed(ActionEvent e) {
			trayIcon.displayMessage(title, message, messageType);
		}
	}

	public static void main(String args[]) throws InterruptedException, InvocationTargetException {
		
		Runnable runner = new Runnable() {
			public void run() {
				if (SystemTray.isSupported()) {
					final SystemTray tray = SystemTray.getSystemTray();
					Image image = Toolkit.getDefaultToolkit().getImage(
							"red.jpg");
					PopupMenu popup = new PopupMenu();
					final TrayIcon trayIcon = new TrayIcon(image,
							"Dayquil Beta v0.1", popup);
					JClipboard jc = new JClipboard(trayIcon);
					/*
				    ActionListener actionListener = new ActionListener() {
				        public void actionPerformed(ActionEvent e) {
				            trayIcon.displayMessage("Action Event", 
				                "An Action Event Has Been Performed!",
				                TrayIcon.MessageType.INFO);
				        }
				    };
				    trayIcon.addActionListener(actionListener);
				    */
				
					MenuItem item = new MenuItem("Close");
					item.addActionListener(new ActionListener() {
						public void actionPerformed(ActionEvent e) {
							tray.remove(trayIcon);
						}
					});
					popup.add(item);
					try {
						tray.add(trayIcon);
					} catch (AWTException e) {
						System.err.println("Can't add to tray");
					}
				} else {
					System.err.println("Tray unavailable");
				}
			}
		};
		EventQueue.invokeAndWait(runner);
	}
}