Reputation: 75
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
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: '
'
. Then this code works:
<fx:define>
<String fx:id="LABEL_01" fx:value="number of registered
readers"/>
</fx:define>
And you can use LABEL_01
like this:
<Label text="$LABEL_01"/>
Upvotes: 12
Reputation: 2086
You can try something like:
yourlabel.setText(yourLabel.getText() + System.lineSeparator() + "New String");
Upvotes: 1
Reputation: 209319
Just add a newline character:
Label label = new Label();
label.setText("Hello\nWorld");
Upvotes: 7