Wie bekomme ich die genaue TextPosition eine Textes in einem JLabel

ChantalM

Mitglied
Habe ein normales JLabel. Der Text wird im JLabel vertical zentriert (also gleicher Abstand nach oben und untern).

Wie ist die Berechnung der Location von dem Text in dem JLabel?
 
das ist im BorderLayout.CENTER, Eigentlich will ich eine eigenes Tooltip genau deckungsgleich auf den Text des JLabel legen, aber wenn ich die Font.size() ändere, kommt es vor, dass der Tooltip um 1px nach oben verschoben ist, wahrscheinlich Rundungsdifferenz, weiß aber nicht. Ich will für meinen Tooltip möglichst den gleichen Rechenalgorithmus anwenden und denke, so könnte ich die Verschiebung um diesen 1px in den Griff bekommen.
 
Dann schau dir doch mal den Source Code der JRE Standard-Bibliothek an. Der müsste eigentlich mit deinem JDK mitgeliefert sein und da liegt dann hoffentlich irgendwo eine Datei namens src.zip oder so ähnlich
 
Sicher das Der Tooltip verschoben ist?

Ich denke eher an ein Größen Problem ist.

Du setzt doch bestimmt dein Label in den Container und fragst dann seine Position des Labels ab, Fragst du auch die Größe des Labels ab?

Und wenn du den Font änderst, änderst du auch die Tooltip Größe und Position?

Dir muss klar sein Jegliche Änderungen am Label für eine neu Bestimmung der Größe und Position sorgen und dein Tooltip muss darauf angepasst werden.
 
Hi,

suchst du vll sowas hier?

Java:
JLabel label = new JLabel("Test-String");
Graphics g = label.getGraphics();
int stringlength = g.getFontMetrics(label.getFont()).stringWidth(label.getText());

Gruß Sebastian
 
Zuletzt bearbeitet von einem Moderator:
Zurück