Systemtray bereits vorhanden ja oder nein?

java66

Aktives Mitglied
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.

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);
		}

	}
 

faetzminator

Gesperrter Benutzer
Verstehe ich das richtig, dass du so nur eine Instanz deines Programmes laufen lassen willst? Also dass das Tray zum check ist, ob das Programm bereits läuft.
 

java66

Aktives Mitglied
hallo erstmal

also mein Programm ist im "Systemray" wenn die jar erneut gestartet wirrd hab ich mein Programm 2mal laufen und somit auch zwei icons im Tray.
ich moechte nur erkennen ob mein prograam bereits läuft und am einfachsten würde das gehen in dem ich gucke ob im Systemray "myProgramm" bereits vorhanden ist, wenn ja soll die zuletzt gestartete jar geschlossen werden und die bereits davor gestartete beibehalten werden.

Einfach gesagt ich will mein Programm nicht doppelt laufen haben
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
hdi Komisches Problem mit ShutdownHook + SystemTray Allgemeine Java-Themen 23
D Problem mit import von jdic Systemtray Allgemeine Java-Themen 2
M Java Überprüfen ob .exe-Datei bereits ausgeführt wird Allgemeine Java-Themen 2
KeTho1712 Java Swing: JTable standardmäßig füllen, sodass bei Start bereits Datensätze gespeichert sind Allgemeine Java-Themen 1
Joker4632 Methoden Befehl an bereits extern geöffnete Programm-spezifische Konsole senden Allgemeine Java-Themen 1
O Gucken, ob bereits Töne (von wild fremden Programmen) ausgegeben werden Allgemeine Java-Themen 5
B bereits gelesene Bytes herausfinden Allgemeine Java-Themen 10
R Fehler: Bibliothek bereits geladen Allgemeine Java-Themen 3
M Verwendung von unchecked exceptions & bereits vorhandenen exceptions was priorisieren Allgemeine Java-Themen 3
J String Constanten bereits zur CompileZeit aufloesen? Allgemeine Java-Themen 8
M Bereits imlplementierte Interfaces nochmal bei "impleme Allgemeine Java-Themen 10
flashfactor Prüfen ob bereits eine Instanz gestartet ist Allgemeine Java-Themen 2
G überpüfen ob bereits instanz von java applikation läuft Allgemeine Java-Themen 4
M Suche , bereits während der eingabe ?? Allgemeine Java-Themen 4
Blender3D Alte Beiträge nicht mehr vorhanden Allgemeine Java-Themen 6
M SSLHandshakeException obwohl Cert im Truststore vorhanden Allgemeine Java-Themen 2
F Eclipse cache vorhanden? Allgemeine Java-Themen 5
F Cardlayout prüfen ob schon vorhanden, keine doppelten Allgemeine Java-Themen 3
U mit HTMLunit auf Website einloggen - Formname nicht vorhanden Allgemeine Java-Themen 5
R Windows ermitteln ob Administratorrechte vorhanden Allgemeine Java-Themen 17
sylo java.lang.NoSuchMethodError: Obwohl Methode vorhanden Allgemeine Java-Themen 8
J Reguläre Ausrücke - Klammer nicht vorhanden Allgemeine Java-Themen 2
F Klasse vorhanden - wie daraus Objekt erzeugen Allgemeine Java-Themen 8
H Prüfen, ob doppete Werte in int-Array vorhanden sind Allgemeine Java-Themen 16
D Java nicht vorhanden Allgemeine Java-Themen 7
P Funktion vorhanden - wie auf Transitivität erweitern? Allgemeine Java-Themen 6
W Programm prüft auf webserver ob neue version vorhanden? Allgemeine Java-Themen 3
M ArrayList sortieren - HashMap mit sort_id vorhanden Allgemeine Java-Themen 2
J Integer Array Wert vorhanden? Allgemeine Java-Themen 6
G Überprüfen ob ein String in einem anderen String vorhanden? Allgemeine Java-Themen 2
M Prüfen ob Variable vorhanden / initalisiert ist Allgemeine Java-Themen 4
V Objekt einer Klasse, deren Name nur als String vorhanden Allgemeine Java-Themen 4
C Programm vorhanden ? Allgemeine Java-Themen 4
N Wenn Bild nicht vorhanden, dann Weiterleitung Allgemeine Java-Themen 5
R Tabellen inhalt mal vorhanden, mal nicht!?! Allgemeine Java-Themen 2

Ähnliche Java Themen

Neue Themen


Oben