Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

find out if text of JLabel exceeds label size

In Java when the text of the JLabel could not be displayed due to lack of space the text is truncated and "..." is added in the end.

How can I easily find out if currently JLabel displays full text or the truncated?


EDIT:

I see that there is a way to find out the size of the text by using FontMetrics. However this solution doesn't fully answers the question. In the case the text of JLabel contains HTML decorations the metrics.stringWidth() would also calculate width of HTML tags. So it could happen that result of metrics.stringWidth() would be grater than JLabel's width but still the text would be displayed correctly.

Is there a way know what decision took the JLabel itself while displaying the text. Has it decided to truncate the text or not.

like image 424
jutky Avatar asked Nov 01 '11 18:11

jutky


People also ask

How do you change the text size in a Java label?

getSize() * widthRatio); int componentHeight = label. getHeight(); // Pick a new font size so it will not be larger than the height of label. int fontSizeToUse = Math. min(newFontSize, componentHeight); // Set the label's font size to the newly determined size.

What is the difference between JLabel and JTextField?

JLabel is a component used for displaying a label for some components. It is commonly partnered with a text field or a password field. JTextField is an input component allowing users to add some text.

What can a JLabel not do?

JLabel is a class of java Swing . JLabel is used to display a short string or an image icon. JLabel can display text, image or both . JLabel is only a display of text or image and it cannot get focus .


1 Answers

The ellipsis is added by the label's UI delegate, typically a subclass of BasicLabelUI, as part of it's layout and preferred size calculation. The method layoutCL() may be overridden to examine the geometry, as shown on this example.

As a practical matter, I'd ignore the elision and show the full text in a tool tip.

like image 196
trashgod Avatar answered Sep 21 '22 18:09

trashgod