Próbuję narysować wielokąty i chciałbym móc kliknąć na ramkę, aby uzyskać współrzędne myszy, aby szybciej zamienił mentalny obraz na wartości x/y.Współrzędne myszy względem klatki
Używam
System.out.println("("+ MouseInfo.getPointerInfo().getLocation().x +",
"+ MouseInfo.getPointerInfo().getLocation().y +")");
ale to daje mi współrzędne w stosunku do mojego aktualnego ekranu, a nie moje okno Javy.
Jak mogę wyświetlić współrzędne w stosunku do okna Java?
Działa, ale nie podaje poprawnych współrzędnych. Aby to przetestować, narysowałem kwadrat o wartości x = 50 i 7 = 50 (g.drawRect (50,50,100,100)); a kiedy kliknąłem w lewy górny róg kwadratu, oszczędzam x = 58 i y = 78 (java.awt.Point [x = 58; y = 78]) – Nyst
Dzieje się tak, ponieważ otrzymujesz współrzędne myszy względem JFrame ale nie malujesz bezpośrednio na ramie. Prawdopodobnie malujesz na JPanelu dodanym do ramki JFrame. Oznacza to, że musisz dodać MouseListener do tego JPanel, aby uzyskać odpowiednie współrzędne. – SpiderPig
moje złe, mam pomieszane ramkę i panel, naprawiono teraz – Nyst