Hallo zusammen,
ich habe mein programm auf dem Server im Hintergrund laufen und es ist nur im Systemtray sichtbar.
Jetzt hab ich nur das Problem, ich weiss nicht wie ich prüfe ob mein Programm bereits im Systemtray steht oder nicht.
Im Moment fügt er immer wieder das selbe icon hinzu, wenn ich das Programm erneut starte. ich moechte allerdings prüfen ob das Programm bereits gestartet wurde, wenn ja soll es so bleiben wie es ist, wenn nein ganz normal starten und ab in den Systemtray.
Danke für eure hilfe.
ich habe mein programm auf dem Server im Hintergrund laufen und es ist nur im Systemtray sichtbar.
Jetzt hab ich nur das Problem, ich weiss nicht wie ich prüfe ob mein Programm bereits im Systemtray steht oder nicht.
Im Moment fügt er immer wieder das selbe icon hinzu, wenn ich das Programm erneut starte. ich moechte allerdings prüfen ob das Programm bereits gestartet wurde, wenn ja soll es so bleiben wie es ist, wenn nein ganz normal starten und ab in den Systemtray.
Danke für eure hilfe.
Java:
public void intray()
{
final TrayIcon trayIcon;
if (SystemTray.isSupported())
{
SystemTray tray = SystemTray.getSystemTray();
Image image = Toolkit.getDefaultToolkit().getImage(
iconPath + "trayIcon.png");
MouseListener mouseListener = new MouseListener()
{
public void mouseClicked(MouseEvent e) {}
public void mouseEntered(MouseEvent e) {}
public void mouseExited(MouseEvent e) {}
public void mousePressed(MouseEvent e) {}
public void mouseReleased(MouseEvent e) {}
};
ActionListener exitListener = new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
System.out.println("Exiting...");
System.exit(0);
}
};
ActionListener settingListener = new ActionListener()
{
public void actionPerformed(ActionEvent arg0) {showWindow();}
};
PopupMenu popup = new PopupMenu();
MenuItem ExitItem = new MenuItem("Stop");
MenuItem SettingsItem = new MenuItem("Settings");
SettingsItem.addActionListener(settingListener);
popup.add(SettingsItem);
ExitItem.addActionListener(exitListener);
popup.add(ExitItem);
trayIcon = new TrayIcon(image, "PortList", popup);
ActionListener actionListener = new ActionListener() {
public void actionPerformed(ActionEvent e) {
trayIcon.displayMessage("Action Event",
"An Action Event Has Been Performed!",
TrayIcon.MessageType.INFO);
}
};
trayIcon.setImageAutoSize(true);
trayIcon.addActionListener(actionListener);
trayIcon.addMouseListener(mouseListener);
try {
tray.add(trayIcon);
} catch (AWTException e) {
System.err.println("TrayIcon could not be added.");
}
} else {
JOptionPane.showConfirmDialog(this, "Systemtray is not Supported on\nyour System", "Not Supported Systemtray", JOptionPane.OK_OPTION);
this.setVisible(true);
this.setDefaultCloseOperation(HIDE_ON_CLOSE);
}
}