import java.awt.AWTException;
import java.awt.Frame;
import java.awt.Image;
import java.awt.MenuItem;
import java.awt.PopupMenu;
import java.awt.SystemTray;
import java.awt.Toolkit;
import java.awt.TrayIcon;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
public class Icon {
private static TrayIcon trayIcon;
private SystemTray tray;
private Image image;
private MouseListener mouseListener;
private String info = null;
private String titelhover = "Titel";
private String latestinfo = "";
private PopupMenu popup;
private MenuItem openItem;
private String logoString = "";
Frame frame= new HauptFenster();
//Konstruktor
public Icon() {
if (SystemTray.isSupported()) {
tray = SystemTray.getSystemTray();
image = Toolkit.getDefaultToolkit().getImage(Icon.class.getResource(logoString));
popup = new PopupMenu();
popup.setName("Menue");
popup.setFont(schrift);
openItem = new MenuItem("TitelAnzeige öffnen");
popup.add(openItem);
trayIcon = new TrayIcon(image, titelhover, popup);
ActionListener actionListener = new ActionListener() {
public void actionPerformed(ActionEvent e) {
if (frame.getState() == 1) {
frame.setState(Frame.NORMAL);
frame.setVisible(true);
}else if (frame..getState() == 0) {
frame.setState(Frame.ICONIFIED);
frame.setVisible(false);
}
}
};
trayIcon.setImageAutoSize(true);
trayIcon.addActionListener(actionListener);
trayIcon.addMouseListener(mouseListener);
try{
tray.add(trayIcon);
} catch (AWTException e) {
System.err.println("TrayIcon kann nicht hinzugefuegt werden...");
}
}else{
// System Tray is not supported
System.err.println("Leider unterstützt Ihre Java-Version das Systemtray nicht, bitte updaten sie diese.");
}
/**
* Getters and Setters
*/
public static TrayIcon getTrayIcon() {
return trayIcon;
}
public void setTip(String tip) {
trayIcon.setToolTip(tip);
}
public void setInfoString(String info){
trayIcon.displayMessage("Information",info,TrayIcon.MessageType.INFO);
}
public static void message(String msg){
trayIcon.displayMessage("Information",msg,TrayIcon.MessageType.INFO);
}
}