Permalänk

Musposition JAVA

Hej

Jag har ploblem med JAVA. Jag undrar hur man bär sig åt för att få Musens position om den är utanför en JFrame.
Jag lyckas bra när den är innanför JFramen. Då använder jag MouseEvents variabeln och gör en getX() och getY() på det. Då får man ju ut positionen i JFramen. Men om musen hamnar utanför så slutar den ju att regestrera.
Ska man sätta en Mouselistener på hela skärmen, och hur gör man det i sånna fall?

Visa signatur

"SönderCrew" Is the shit

Permalänk
Medlem

Du får antagligen använda JNI för det, så vitt jag vet tillhandahåller Java enbart information om koordinater när muspekaren är över en (J)Component. Alternativt kan du kanske skapa en stor Component som täcker hela skärmen, men är transparent (det går att skapa med Java, ja ) så att du får muspositionen hela tiden.

Permalänk

JNI verkade väldigt svårt för min del just nu!
Men tids nog kanske!

Men är det bara att göra en JFrame, sätta ut storleken och positionen men sätta visibilityn på false för att den inte ska synas?

Visa signatur

"SönderCrew" Is the shit

Permalänk
Medlem
Citat:

Ursprungligen inskrivet av Lord_HoFFa
Men är det bara att göra en JFrame, sätta ut storleken och positionen men sätta visibilityn på false för att den inte ska synas?

Nej, fönstret måste vara synligt för att den ska kunna fånga MouseEvents. Det som tidigare person menade var att ha ett fönster över hela skärmen som är transparent. Det finns ett antal lösningar på det, men det får du leta upp själv. Java + transparens != 100%

Permalänk

Tack för hjälpen!

Jag hittade facktist ett sätt. Man behöver inte hålla på med massa transparent-saker och sånt.

Denna lilla koden ger en den info man behöver.
Classerna MouseInfo och PointerInfo är det som gäller.

System.out.println(java.awt.MouseInfo.getPointerInfo().getLocation());

Detta ger en utskrift på var musen är någonstans vid utskrivningstillfället.
Det är en java.awt.Dimension som skrivs ut.

Visa signatur

"SönderCrew" Is the shit