Estoy tratando de escribir en una etiqueta JavaFX. Puedo escribir con éxito y usar el ajuste para asegurarme de que el texto se ajuste a una nueva línea si es más larga que la etiqueta. Mi problema es que necesito agregar texto al texto existente, lo que puedo hacer, pero no puedo hacer que el siguiente texto comience en una nueva línea.

Cualquier ayuda sería apreciada.

2
user3325416 23 oct. 2017 a las 14:18

3 respuestas

La mejor respuesta

Simplemente agregue un carácter de nueva línea:

Label label = new Label();
label.setText("Hello\nWorld");
4
James_D 23 oct. 2017 a las 11:39

He estado buscando truco de etiqueta multilínea en FXML durante algún tiempo y muchas veces visité esta publicación (google mostró este resultado, mucha frustración). Así que creo que lo escribiré aquí.

Logré encontrar este código para mostrar líneas múltiples:

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

Pero si defino variable

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

Entonces no tengo idea de cómo referirme a él, no puedo usar $LABEL_01.


En FXML también puedes usar esto: '&#xD;'. Entonces este código funciona:

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

Y puedes usar LABEL_01 así:

<Label text="$LABEL_01"/>
5
Pochmurnik 17 may. 2020 a las 21:19

Puedes probar algo como:

 yourlabel.setText(yourLabel.getText() + System.lineSeparator() + "New String");
0
Baptiste Beauvais 23 oct. 2017 a las 11:39