Lassen Sie JFace Window in der Taskleiste blinken oder erhalten Sie die Aufmerksamkeit der Benutzer?

9

Ich frage mich, ob jemand eine Idee hat, wie man das löst:

In meinem Java Eclipse Plugin gibt es einige Prozesse, die einige Zeit brauchen. Daher könnte der Benutzer das Fenster minimieren und den Prozess im Hintergrund ausführen lassen. Jetzt, wenn der Prozess abgeschlossen ist , kann ich das Fenster zwingen, wieder nach oben zu kommen, aber das ist ein Nein-in-Usability. Ich möchte lieber, dass der Prozess stattdessen in der Taskleiste blinkt . Gibt es einen Weg, dies zu erreichen?

Ich habe mir die org.eclipse.jface.window könnte aber nichts finden, das gleiche gilt für die SWT-Dokumentation ...

Eine andere Sache, die mir in den Sinn kam - da die Leute diese App auch auf mac os x linux verwenden, gibt es eine plattformunabhängige Lösung , der den Benutzer informiert, dass der Prozess beendet ist, aber ohne das Fenster an die Spitze zu bringen?

Irgendwelche Ideen sind sehr willkommen!

Bearbeiten:
Ich habe herausgefunden, dass der Benutzer unter Windows einstellen kann, ob er eine Kraft im Vordergrund aktivieren möchte oder nicht. Wenn diese Option deaktiviert ist, blinkt die Aufgabe nur in der Taskleiste ...
Hier ist ein guter ​​lesen darauf ...

Wenn irgendjemand vielleicht etwas über eine plattformunabhängige Art weiß, dieses Verhalten zu erreichen, bitte teilen Sie Ihr Wissen mit mir!

    
Gnark 05.05.2010, 12:58
quelle

4 Antworten

2

Ich glaube nicht, dass es einen plattformunabhängigen Weg gibt, dies zu tun. Sie müssen sich die plattformspezifischen API-Aufrufe ansehen und diese über JNI oder JNA implementieren.

Für Windows, hier ist ein Auszug aus einer meiner eigenen Anwendungen:

%Vor%

Hier ist eine vereinfachte Version von getLibrary() :

%Vor%

Achten Sie auf dispose() der Bibliothek, wenn Sie damit fertig sind.

    
Paul Lammertsma 05.05.2010, 18:39
quelle
2

Nun, das blinkt nicht wirklich, aber seit Eclipse 3.6 M6 können Sie Text, Bild oder Fortschrittsbalken plattformunabhängig mit SWT dem TaskItem überlagern. Siehe New and Noteworthy und das SWT-Snippet .

    
thSoft 18.05.2010 07:57
quelle
1

Was Sie tun können, um die Aufmerksamkeit der Benutzer zu erregen, ohne lästig zu sein, ist, den Windows-Text, der protable ist, mit einem einfachen zu ändern:

%Vor%

Dies würde dem Benutzer ermöglichen, eine Aktualisierung zu erhalten, während das Fenster minimiert wird, und dann einen Fokus-Listener hinzufügen, um das Fenster auf seinen normalen Text zurückzusetzen, wenn der Fokus wiedergewonnen wird. Dies würde eine minimale Aufdringlichkeit beim Informieren des Benutzers ermöglichen.

    
user187457 17.05.2010 21:15
quelle
0

Ich hatte ein ähnliches Problem mit meinem Plug-in.

Was ich getan habe, ist, ein kleines Icon für mein Programm im unteren Status-Dock zu erstellen (oder was auch immer dieses Ding am Ende genannt wird). Basierend auf dem Abschluss von Prozessen und anderen Hintergrundereignissen ändert sich mein Symbol und blinkt (z. B. wechselt es von Grau zu Grün, wenn seine anfängliche Einrichtung abgeschlossen ist).

Indem Sie mit einem Doppelklick oder Rechtsklick auf dieses Icon kontextsensitiv werden, kann ich dann ein entsprechendes Fenster öffnen.

    
Uri 17.05.2010 21:32
quelle

Tags und Links