Holen Sie sich Maus X,Y-Koordinaten relativ zu einem frame
Ich habe einen button und wenn ich mit der Maus auf die Schaltfläche ich möchte wissen, die Maus x,y-Koordinaten relativ zu dem Rahmen
Wie kann ich das tun?
InformationsquelleAutor xdevel2000 | 2010-09-17
Du musst angemeldet sein, um einen Kommentar abzugeben.
getBounds()
gibt Ihnen eineRectangle
mit der Lage und den Abmessungen der Schaltfläche relativ zum übergeordneten Objekt. In meinem Beispiel ist es der Elternteil ist, derJFrame
.Edit:
Mit den helper-Methoden SwingUtilities die
mouseClicked
Methode wird viel einfacher. Und Sie bekommen die richtigen Koordinaten unabhängig davon, wie viele Container zwischen denJFrame
und dieJButton
. Ich war mir nicht bewusst.InformationsquelleAutor Kintaro
registrieren Sie einen MouseListener und implementieren die entsprechenden Ereignisse. MouseEvent hat getX und getY Methoden, die Ihnen die position der Maus.
Versuchen Sie, diesen code in das button-Ereignis-listener: PointerInfo a = MouseInfo.getPointerInfo(); Point b = a ist.getLocation(); int x = (int) b ist.getX(); int y = (int) b ist.getY();
Nein, es gibt mir die coords relativ zum button, nicht der Rahmen!
Kasse die SwingUtilities-Klasse. Es hat Helfer-Methoden zum konvertieren von MouseEvent-Koordinaten und andere nützliche Methoden für die Umwandlung von Punkten relativ zu Komponenten und Bildschirm. download.oracle.com/javase/1.4.2/docs/api/javax/swing/...
InformationsquelleAutor Faisal Feroz