# Icon in der Taskleiste zum Blinken bringen



## Yayoi (21. September 2004)

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!


----------



## Informatik-Study (25. September 2004)

*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  
   } // 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.


----------

