ERLEDIGT
NEIN
NEIN
ANTWORTEN
2
2
ZUGRIFFE
821
821
EMPFEHLEN
-
Ich habe vor, mir einen eigenen sog.
"Desktop Calendar" zu basteln, evtll. dann auch gleich mit JavaFX.
Das Problem:
Wie kriege ich Java-Komponenten (Swing oder halt gleich JavaFX-Zeug) direkt auf den Desktop "geklebt"?
(erstmal ziemlich Windows-spezifisch)
- die Anwendung hat nur ein Tray Icon, keinen Eintrag in der Taskleiste
- die Anwendung ist immer die "unterste" unter allen anderen Fenstern, man sieht sie also wirklich nur, solange man etwas vom Desktop sieht
ein Beispiel, wie sowas aussieht (benutze ich seit Jahren, unglaublich praktisch):
http://tinnes.org.uk/desktopcalendar/about.htm
Es gibt auch allerlei andere solche Kalender, u.a. für "Active Desktop" (das beschreibt auch so ziemlich das, was ich haben will).
Ich wills halt nur selbst schreiben, in Java :P
Ich habe ja schon ein wenig mit dem SystemTray rumgespielt, sobald ich z.B. ein JFrame mit setvisible(false) verstecke, verschwindet der Eintrag in der Taskleiste, das JFrame damit aber leider natürlich auch
Und das mit dem "auf dem Desktop kleben" - da hab ich 0 Ideen.
Veilleicht hat da jemand eine Idee, ob das überhaupt mit 1.6 funktioniert?
-
Hi,
vielleicht hilfst Dir dieses Beispiel weiter:
http://www.kodejava.org/examples/313.html
Wenn Du jetzt noch JFrame durch JWindow ersetzt ist auch der Eintrag in der Taskleiste weg.
Ab Java 6 Update 10 kannst Du auch die Form und die Tranparenz des Fensters ändern.
Code java:1 2 3 4 5 6 7 8
// Transparenz window.getContentPane().setBackground(Color.BLUE); AWTUtilities.setWindowOpacity(window, Float.valueOf(0.25f)); // Form Shape shape = null; shape = new float+java.sun.com&btnI=I%27m%20Feeling%20Lucky">Ellipse2D.Float(0, 0, window.getWidth(), window.getHeight()); AWTUtilities.setWindowShape(window, shape);
Näheres siehe hier: Setting-the-Shape-of-a-Window
Gruß
JoschiGeändert von joschi70 (02.07.09 um 14:00 Uhr)
-
Das ist schonmal ein Schritt, ich hab gestern mal mit JavaFX rumgespielt und eine rudimentäre Oberfläche gebaut (siehe Anhang).
Die "Stage" ist ebenfalls "undecorated" und baut seine Controls selbst (Schließen, Resize).
Das müsste ich ja nur in ein JWindow oder einen JDialog packen, sodass kein Eintrag in der Taskleiste mehr auftaucht (sollte kein Problem sein) - soweit so gut.
Nur wie kriege ich das ganze nun auf den Desktop geklebt, d.h. immer als "unterste" aller Anwendungen?
Lässt sich aus dem JVM-Käfig irgendwie der Task-Kontext herausfinden, sodass ich darauf irgendwie einen Listener oder einen Thread ansetzen kann, um die GUI immer in den Hintergrund zu schicken?
Andere Möglichkeiten?
Ähnliche Themen
-
JSF "Komponenten dynamisch rendern" oder auch "die 'nächste' Seite beeinflussen"
Von Wutklumpen im Forum Enterprise Java (JEE, J2EE, Spring & Co.)Antworten: 1Letzter Beitrag: 22.09.09, 13:51 -
"Automatische Updates"-Symbol aus Taskleiste?
Von Schumiel im Forum Microsoft WindowsAntworten: 4Letzter Beitrag: 15.04.09, 15:47 -
"Prozess.Exited" - aber kein Focus zum "SynchronizingObject"
Von Christian Kusmanow im Forum .NET ArchivAntworten: 3Letzter Beitrag: 21.10.04, 16:12 -
Element "a" hat kein Attribut "target" ?
Von jccTeq im Forum HTML & XHTMLAntworten: 7Letzter Beitrag: 20.01.04, 14:15 -
Div an ein Object "kleben"
Von mrsunshine im Forum CSSAntworten: 8Letzter Beitrag: 15.01.02, 14:38





Zitieren
Login





