Icon in der Taskleiste zum Blinken bringen

Yayoi

Grünschnabel
Mein Problem ist folgendes:

Ich hab eine Anwendung geschrieben, die Emails empfängt, etc.. Nun möchte ich, dass, wenn eine Email eintrifft, das Icon der Anwendung in der Taskleiste anfängt zu blinken. Wie funktioniert das?

Danke schonmal für die Hilfe!
 
Icon Blinken

Hallo Yayoi

Zu Deiner Frage: Meine Idee ist ;) folgender Ansatz:

Den Namen des Icon's wechseln ==> einmal den Richtigen, und wenn es blinken (verschwinden) soll einfach nur "nichts" eingeben.
==> Anstatt getImage("specht.gif) nur getImage(" ").

[Hab's mal ausprobiert (das leerlassen), es gab keine Fehlermeldung, und anstatt einem Icon war da einfach nichts.]

Nun müsste ich wissen wie Du Dein Icon implementierst......

Zur Not und als Beipiel wäre hier meine Implementierung:

// erstens: Funktion schreiben

....
private void setIcon()
// Icon ändern
{
Image img = getToolkit().getImage("specht.gif");
MediaTracker mt = new MediaTracker(this);
mt.addImage(img, 0);
try
{
// warten bis Image vollständig geladen ist
mt.waitForAll();
}
catch(InterruptedException e)
{
// nichts
}
setIconImage(img);
}
....
// zweitens: der Aufruf
.....
setIcon();
.....


Lösungs-Idee:

Es gibt bestimmt einige Arten wie Du zur Lösung kommen könntest, hier meine:
(Werde versuchen mich kurz zu fassen ;) )

1.) Neue Funktion schreiben, setIconBlink()

2.) in die müsste dann eingefügt werden:
....
bool bzustand=true;
while(bis_abbruch) // Abbruch nach Zeit xyz oder eine Variable einfach hoch Zaehlen....
{
if (bzustand)
{
setIcon(specht.gif); // Bildname Uebergeben
bzustand=false;
}
else
{
setIcon( ); // Bildname nur ein LEER Zeichen
bzustand=true;
}
Thread.sleep(2000); // Es kann auch eine bloede Schleife auf x Tausend aufgezaehlt werden, ist aber unschoen :eek:
} // while-Schleife ist hier zu Ende
....

3.) Funktion "setIcon" erweitern/anpassen;
a.) einen Übergabewert (String xyz) in den Funktionskopf setzten
(welcher den Namen für getImage("xy") beherbergen wird......)
....
setIcon(String name)
{
........
Image img = getToolkit().getImage(name);
........

4.) Nun anstatt setIcon nur setIconBlink() aufrufen


Würde mich Interessieren ob es so funktioniert ;) Wenn ich mehr Zeit hätte würde ich es testen.

:rolleyes:
 
Zuletzt bearbeitet:
Zurück