# Spinne die aufm desktop dem mauszeiger folgt!



## EarthDragon (26. Jun 2011)

hallo :3
auch wenn der thread titel etwas komisch klingt...  ich weis einfach nich wie ichs beschreiben soll was ich will also hab ich mir das beispiel ausgedacht t.T

ich will halt ein bild/figur (was nich rechteckig ist wie ein fenster) aufm desktop darstellen und bewegen ohne das dabei die eigentliche funktion des desktops gestört wird ~~

und such dabei eigentlich grade nur nen par tipps wonach ich suchen muss oder ob das überhaupt geht mit java

hoffentlich ärger ich mit dem titel nich zuviele leute hier :3


----------



## Marco13 (27. Jun 2011)

Naja, gehen schon... mit einem Thread, der in (nicht zuuu kurzen Abständen!) MouseInfo (Java 2 Platform SE 5.0) pollt und schaut, wo die Maus gerade ist...


----------



## EarthDragon (27. Jun 2011)

hmm ok aber ich muss erlich sein ich weis nich wie ich überhaupt was aufm desktop so darstelle


----------



## Marco13 (27. Jun 2011)

Üblicherweise mit Swing Trail: Creating a GUI With JFC/Swing (The Java™ Tutorials) Im einfachsten Fall mit einem "Window", das hat nicht unbdeingt eine Titelleiste und einen Rahmen und so. Wenn es DIREKT auf dem Desktop sein soll (also so, als wäre kein Fenster da) dann müßte der Fensterhintergrund durchsichtig sein - das kann dann ein bißchen fummeliger werden, sollte aber auch gehen.


----------



## Fu3L (27. Jun 2011)

Zu den durchsichtigen Fenstern: http://www.java-forum.org/blogs/tfa/30-snippet-transparente-rechteckige-fenster.html


----------



## r.w. (27. Jun 2011)

Marco13 hat gesagt.:


> Üblicherweise mit Swing Trail: Creating a GUI With JFC/Swing (The Java™ Tutorials) Im einfachsten Fall mit einem "Window", das hat nicht unbdeingt eine Titelleiste und einen Rahmen und so. Wenn es DIREKT auf dem Desktop sein soll (also so, als wäre kein Fenster da) dann müßte der Fensterhintergrund durchsichtig sein - das kann dann ein bißchen fummeliger werden, sollte aber auch gehen.



Wenn ich dich richtig verstanden habe, läge dann aber ein Fenster über dem Desktop 
und würde die Maus-Ereignisse abfangen. Damit wäre die Funktion des Desktops
eingeschränkt.

Für solche Zwecke wird auch schon mal direkt auf den Desktop gezeichnet. 
Eventuell kann man das über JNA auch mit Java realisieren. Aber wegen der 
Fenster-Handles mit denen da gearbeitet wird, ist das sicher einfacher in C++
mit der Win32-Api zu machen.

VG ROlf


----------



## Marco13 (27. Jun 2011)

Ja, direkt AUF dem Bild würden die MouseEvents dann natürlich nicht mehr auf dem Desktop ankommen.  Aber selbst das sollte man vielleicht irgendwie umgehen können. Ich bin im Moment davon ausgegangen, dass das Bild nur klein ist und in einer Ecke rumhängt (klassische Eigenschaften einer Spinne eben  )


----------



## r.w. (27. Jun 2011)

Marco13 hat gesagt.:


> Ja, direkt AUF dem Bild würden die MouseEvents dann natürlich nicht mehr auf dem Desktop ankommen.  Aber selbst das sollte man vielleicht irgendwie umgehen können. Ich bin im Moment davon ausgegangen, dass das Bild nur klein ist und in einer Ecke rumhängt (klassische Eigenschaften einer Spinne eben  )



Ah, soooderle. ;-)


----------



## Fu3L (27. Jun 2011)

> Spinne die aufm desktop dem mauszeiger *folgt!*



Für mich klang es so, als sei Spinne immer knapp hinter dem Mauszeiger. Das würde keine Einschränkungen bedeuten^^


----------



## r.w. (27. Jun 2011)

Fu3L hat gesagt.:


> Für mich klang es so, als sei Spinne immer knapp hinter dem Mauszeiger. Das würde keine Einschränkungen bedeuten^^



Es gab vor langer Zeit mal so ein Gimmick. Das war ein schlafendes Kätzchen.
Wenn man den Mauszeiger bewegt hat ist es aufgewacht, zur neuen Mausposition
stolziert und hat sich da wieder schlafen gelegt. Daran hab ich bei dem Thema 
gedacht. ;-)

Wenn man das mit einem kleinen Fenster realisieren möchte, muss sich dieses natürlich 
immer im Vordergrund bewegen. Beim Mac klappt das leider nicht immer astrein. :-/
Unter Windows könnte das eventuell klappen.


----------



## EarthDragon (27. Jun 2011)

Fu3L hat gesagt.:


> Zu den durchsichtigen Fenstern: http://www.java-forum.org/blogs/tfa/30-snippet-transparente-rechteckige-fenster.html



das hat mir schonmal gut geholfen 
gibt es eine möglichkeit dieses shape object aus nem bild zu generieren ? pngs kann man ja so speichern das der hintergrund durchsichtig ist...


----------



## Fu3L (27. Jun 2011)

Das weiß ich nicht genau.. Aber dazu stellt sich mir die Frage, ob es noch performant ist, wenn die Spinne animiert ist und du die Form des Fensters ständig änderst? Ich weiß auch nicht mehr aus der Erinnerung, ob es möglich ist, ein Fenster komplett transparent zu machen und dann dort ein nicht transparentes Bild zu zeichnen ???:L
Müsstest du vllt mal googlen..


----------

