user3325416
user3325416

Reputation: 75

JavaFx Label - how to force a new line (line break)

I am trying to write to a JavaFX label. I can write successfully and use wrapping to make sure the text wraps to a new line if it is longer than the label. My issue is I need to add text to the existing text which I can do, but I am unable to make the next text start on a new line.

Any help would be appreciated.

Upvotes: 6

Views: 20254

Answers (3)

Pochmurnik
Pochmurnik

Reputation: 828

I have been looking for multiline label trick in FXML for some time and many times I visited this post (google displayed this result, a lot of frustration). So I think I will write it here.

I managed to find this code to display multiline:

<Label text="${'number of registered\nreaders'}"/>

But if I define variable

<fx:define>
    <String fx:id="LABEL_01" fx:value="${'number of registered\nreaders'}"/> 
</fx:define>

then I have no idea how to refer to it, I can't use $LABEL_01.


In FXML you can also use this: '&#xD;'. Then this code works:

<fx:define>
    <String fx:id="LABEL_01" fx:value="number of registered&#xD;readers"/> 
</fx:define>

And you can use LABEL_01 like this:

<Label text="$LABEL_01"/>

Upvotes: 12

Baptiste Beauvais
Baptiste Beauvais

Reputation: 2086

You can try something like:

 yourlabel.setText(yourLabel.getText() + System.lineSeparator() + "New String");

Upvotes: 1

James_D
James_D

Reputation: 209319

Just add a newline character:

Label label = new Label();
label.setText("Hello\nWorld");

Upvotes: 7

Related Questions