{"id":2218,"date":"2013-09-01T15:25:19","date_gmt":"2013-09-01T13:25:19","guid":{"rendered":"http:\/\/www.tutego.de\/blog\/javainsel\/?p=2218"},"modified":"2013-09-01T15:25:19","modified_gmt":"2013-09-01T13:25:19","slug":"absolute-koordinaten-einer-gui-komponente","status":"publish","type":"post","link":"https:\/\/www.tutego.de\/blog\/javainsel\/2013\/09\/absolute-koordinaten-einer-gui-komponente\/","title":{"rendered":"Absolute Koordinaten einer Gui-Komponente"},"content":{"rendered":"<p>Um die absoluten Koordinaten des Elements am Bildschirm zu bestimmen, k\u00f6nnen wir folgende Idee einsetzen: Zun\u00e4chst bestimmen wir die Koordinaten des Elements relativ zum Fenster. Sie sollen in den Variablen x und y stehen. Dann hangeln wir uns von der aktuellen Komponente bis zum aktuellen Fenster durch und fragen das Frame-Objekt \u00fcber getLocation() nach der absoluten Position. Die Fenster-Koordinaten addieren wir zu den relativen Komponenten-Koordinaten, um die absoluten Koordinaten zu erhalten.<\/p>\n<pre>Component c = this;\nwhile ( (c = c.getParent()) != null )\nif ( c instanceof JFrame )\nbreak;\nif ( c != null )\n{\n  Point p = ((JFrame) c).getLocation();\n  x += p.x;\n  y += p.y;\n}<\/pre>\n<p>Die Methode SwingUtilities.getWindowAncestor(Component) l\u00e4uft f\u00fcr eine gegebene Komponente selbst\u00e4ndig hoch und liefert das Window-Objekt oder null. Um einem Fenster ein Ereignis zum Schlie\u00dfen zu schicken, schreiben wir einfach:<\/p>\n<pre>Window w = SwingUtilities.getWindowAncestor( c );\nw.dispatchEvent( new WindowEvent(w, WindowEvent.WINDOW_CLOSING) );<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Um die absoluten Koordinaten des Elements am Bildschirm zu bestimmen, k\u00f6nnen wir folgende Idee einsetzen: Zun\u00e4chst bestimmen wir die Koordinaten des Elements relativ zum Fenster. Sie sollen in den Variablen x und y stehen. Dann hangeln wir uns von der aktuellen Komponente bis zum aktuellen Fenster durch und fragen das Frame-Objekt \u00fcber getLocation() nach der [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":"","_links_to":"","_links_to_target":""},"categories":[1],"tags":[],"class_list":["post-2218","post","type-post","status-publish","format-standard","hentry","category-allgemein"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts\/2218","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/comments?post=2218"}],"version-history":[{"count":1,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts\/2218\/revisions"}],"predecessor-version":[{"id":2219,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/posts\/2218\/revisions\/2219"}],"wp:attachment":[{"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/media?parent=2218"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/categories?post=2218"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.tutego.de\/blog\/javainsel\/wp-json\/wp\/v2\/tags?post=2218"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}