ERLEDIGT
JA
JA
ANTWORTEN
5
5
ZUGRIFFE
2711
2711
EMPFEHLEN
-
Hi,
ich moechte wenn die Applikation nicht den Fokus hat und ein Event auftritt, dass das Programm in der Taskleiste "blinkt". Ist dies in java moeglich oder kann ich nur das Icon setzen?
DankeMfG
illaX
-
06.03.06 20:13 #2
- Registriert seit
- Jun 2002
- Ort
- Saarbrücken (Saarland)
- Beiträge
- 9.886
- Blog-Einträge
- 29
Hallo!
Schau mal hier:
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
/** * */ package de.tutorials; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JFrame; import javax.swing.Timer; /** * @author Tom * */ public class TaskBarNotificationExample extends JFrame { public TaskBarNotificationExample() { super("TaskBarNotificationExample"); setDefaultCloseOperation(EXIT_ON_CLOSE); setSize(320, 240); setVisible(true); Timer timer = new Timer(1000, new ActionListener() { public void actionPerformed(ActionEvent e) { if (hasFocus()) { System.out.println("has focus"); } else { System.out.println("blink"); setVisible(true); } } }); timer.setRepeats(true); timer.start(); } /** * @param args */ public static void main(String[] args) { new TaskBarNotificationExample(); } }
Gruss TomJava rocks!
How to become a good Java Programmer?
Does IT in Java and .Net
The only valid measurement of code quality: WTFs / minute
Blog
Xing
Twitter
-
Danke Thomas,
zur Verstaendniss: Das Fenster blinkt, wegen der Anweisung setVisible(true). Jetzt habe ich (fast) den selben code bei mir eingebaut.
Nur wenn ich das Fenster wechsel springt er automatisch wieder zu dem das blinkt. Bei dir war dies nicht der Fall, warum?MfG
illaX
-
Ok ist klar warum er das macht, gibt es noch eine andere Moeglichkeit als setVisible(true)?
MfG
illaX
-
Dies hier ist meine Klasse die fuer das "blinken" verantwortlich ist.
Gestartet wird er in einer anderen Methode wenn das Frame keinen Fokus hat.
Code :1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
public class Blink extends Thread { private JFrame frame = null; public Blink(JFrame frame) { super(); this.frame = frame; } public void run() { super.run(); while(true) { try { if(isInterrupted()) break; if(!frame.hasFocus()) { frame.setVisible(true); System.out.println("blink"); } else break; Thread.sleep(1000); } catch (InterruptedException e) { break; } } System.out.println("Blink beendet"); } }
Dann fuege ich meinen frame nen WindowListener hinzu, wo bei den aktionen aktivieren und schliessen der Thread interrupted wird. Er wird auch einwandfrei beendet. Wenn ich nun das aktive Fenster verlasse springt er sofort wieder zurueck, das macht er nur beim ersten verlassen, danach funktioniert wieder alles einwandfrei.
Ich versteh das nicht. Warum tut er das? Er fuehrt keine Anweisungen aus, bei dem WindowListener habe ich die Methoden Deactivated und Inconified leer gelassen.MfG
illaX
-
Ok das Problem ist geloest. Habe ueberprueft, ob das Frame den Focus hat, wenn ja dann starte das "blinken". War natuerlich falsch, der Focus war immer aufm Textfeld...
MfG
illaX
Ähnliche Themen
-
Von Taskleiste in Symbolleiste
Von Hallasas im Forum C/C++Antworten: 1Letzter Beitrag: 22.07.07, 20:57 -
VB6: Programm in Taskleiste
Von tlj im Forum Visual Basic 6.0Antworten: 2Letzter Beitrag: 27.05.07, 18:52 -
Icon in der Taskleiste
Von lindin im Forum VisualStudio & MFCAntworten: 17Letzter Beitrag: 31.08.04, 21:32 -
Taskleiste HILFE
Von Shifftysiva im Forum Microsoft WindowsAntworten: 3Letzter Beitrag: 14.06.04, 14:25 -
Taskleiste
Von eDreamer im Forum Delphi, Kylix, PascalAntworten: 2Letzter Beitrag: 09.07.03, 11:13





Zitieren

Login





