JTextField in Panel positionieren

blz

Bekanntes Mitglied
Hallo,
ich habe ein Programm, in dem ich auf einem JPanel eine Verbindungslinie von zwei Kreisen zeichne.
Diese Linie soll man als Benutzer beschriften können. Daher habe ich mir überlegt, dafür ein JTextField zu verwenden.
Dieses soll immer zentriert über der Linie stehen. (Diese kann sich verschieben, wenn man die Position der Kreise verändert.)
Den Mittelpunkt der Linie habe ich auch schon berechnet. Nun frage ich mich, welches Layout ich nun verwenden muss. Im Prinzip brauche ich doch eine absolute Positionierung, da sich die Position ja immer wieder verändert. Also null-Layout?
Außerdem würde ich gerne wissen, wie ich das JTextField, nachdem der User einen Text angegeben hat, bzgl. des Linienmittelpunkts zentrieren kann.
Im Prinzip müsste ich nach der Eingabe also die Breite abfragen und das daraus berechnen ...
Vielen Dank!
 
Im Prinzip brauche ich doch eine absolute Positionierung, da sich die Position ja immer wieder verändert. Also null-Layout?
Ja, LayeredPane und GlassPane könnten hilfreich sein (s. https://docs.oracle.com/javase/tutorial/uiswing/components/layeredpane.html).

Außerdem würde ich gerne wissen, wie ich das JTextField, nachdem der User einen Text angegeben hat, bzgl. des Linienmittelpunkts zentrieren kann.
Naja, die Maße des Textfelds bekommst Du mit getSize(). Wenn es um den Text selbst geht, gibt es umfangreiche Möglichkeiten. Die einfachste, ungenaueste aber meist ausreichende ist, die stringWidth()-Methode von FontMetrics zu verwenden.
 

Zurück
Oben