TrayIcon für JSF-Applikation -> Tutorial gesucht

  • Themenstarter Themenstarter Guest
  • Beginndatum Beginndatum
Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Guten abend zusammen,

ich möchte in meiner JSF-Applikation eine Kommunikation zwischen mehreren Clients per TrayIcon regeln. Folgende Vorgehensweise hab ich mir vorgestellt:

1. Der Benutzer ruft die Loginseite der Anwendung auf und loggt sich ein. -> Das TrayIcon wird ggf. auf dem Client installiert und erscheint in seiner WindowsToolbar .
2. Benutzer A macht wichtige(entscheidende) Einträge in der Webapplikation -> Alle Benutzer, die diese Änderung betreffen, werden über einem Popup-Fenster oberhalb des TrayIcons mit dem Inhalt der Meldung informiert. Dies kann man sich wie bei ICQ vorstellen, wenn ein Buddy online kommt.
3. Der Benutzer meldet sich von der Applikation ab. Dabei wird das TrayIcon deinstalliert bzw. verschwindet aus der Taskleiste.

Die Kommunikation zwischen den verschiedenen Clients sollte auf das Publisher-Subscriber-Pattern beruhen. Kennt jemand ein gutes Tutorial zu der genannten Problemstellung?

Probleme:

1. Programmierung: Wie kann man soetwas in die Webapplikation implementieren?
2. Installation: Wie ist das entwickelte TrayIcon auf dem Client zu installieren?

Insgesamt denk ich, dass dies eine interessante Programmieraufgabe darstellt. Aufgrund der geschilderten Probleme wäre es nett, wenn mir jemand ein Tutorial zu dem Thema sagen könnte. Auch über eine Schilderung der bereits gemachten Erfahrungen diesbezüglich wäre mir eine große Hilfe.
 
Es gibt Tutorials für Webanwendungen mit JSF, dann gibt es Tutorials für Desktopanwendungen, eines in dem beide gemischt werden sollte sehr selten sein, falls es überhaupt eines gibt.
Wenn du nicht 100% in beiden Technologien sicher bist, wird es sehr schwierig imho, wünsche dir aber trotzdem viel Erfolg.
 
Ich hab jetzt mal ein kleines Beispiel erstellt. Das funktioniert auch soweit, allerdings ist mein Icon in der Windowstaskleiste nicht sichtbar:

Code:
package tray;

import java.awt.AWTException;
import java.awt.Image;
import java.awt.SystemTray;
import java.awt.Toolkit;
import java.awt.TrayIcon;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class Test {
	static Image image = Toolkit.getDefaultToolkit()
			.getImage("images/icon.jpg");
	static TrayIcon trayIcon = new TrayIcon(image, "Tester2");

	public static void main(String[] a) throws Exception {
		if (SystemTray.isSupported()) {
			SystemTray tray = SystemTray.getSystemTray();
			trayIcon.setImageAutoSize(true);
			trayIcon.addActionListener(new ActionListener() {
				public void actionPerformed(ActionEvent e) {
					System.out.println("In here");
					trayIcon.displayMessage("Tester!", "Some action performed",
							TrayIcon.MessageType.INFO);
				}
			});
			try {
				tray.add(trayIcon);
			} catch (AWTException e) {
				System.err.println("TrayIcon could not be added.");
			}
		}
	}
}

Weiß jemand woran das liegen könnte?
 
Mal was anderes: Kann ich ähnlich wie in ICQ bei einer Meldung ein kleines Fenster oberhalb des Tray Icons plazieren? Das Fenster sol so lange offen bleiben bis der Benutzer es schließt.
 
Status
Nicht offen für weitere Antworten.

Zurück
Oben