È possibile visualizzare più righe di sola lettura il testo in un Label.
Se il testo contiene caratteri \n
(di nuova riga), l'etichetta si posizionerà su una nuova riga ovunque sia il carattere di nuova riga.
Se l'etichetta haimpostato su true e non c'è abbastanza spazio per visualizzare una singola riga di testo, l'etichetta avvolgerà il testo in una nuova riga.
Se si desidera che il testo in stili diversi, quindi, se si utilizza JavaFX 2, inserire più etichette in un FlowPane
o, se si utilizza Java 8+, posizionare le etichette in un componente TextFlow
.

Prodotto dal seguente codice:
import javafx.scene.Scene;
import javafx.application.Application;
import javafx.scene.control.Label;
import javafx.scene.image.*;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
public class LoveMeNot extends Application {
public static void main(String[] args) throws Exception { launch(args); }
@Override public void start(final Stage stage) throws Exception {
Label label = new Label(WORDS);
label.setWrapText(true);
label.setStyle("-fx-font-family: \"Comic Sans MS\"; -fx-font-size: 20; -fx-text-fill: darkred;");
ImageView image = new ImageView(IMAGE);
image.setOpacity(0.3);
StackPane layout = new StackPane();
layout.setStyle("-fx-background-color: mistyrose; -fx-padding: 10;");
layout.getChildren().setAll(image, label);
stage.setTitle("Love Me Not");
stage.setScene(new Scene(layout));
stage.show();
}
// creates a triangle.
private static final String WORDS =
"Love not me for comely grace,\n" +
"For my pleasing eye or face,\n" +
"Nor for any outward part,\n" +
"No, nor for my constant heart,\n" +
"For these may fail, or turn to ill.\n" +
"So thou and I must sever.\n" +
"Keep therefore a true woman’s eye,\n" +
"And love me still, but know not why,\n" +
"So hast thou the same reason still\n" +
"To doat upon me ever.";
private static final Image IMAGE =
new Image("http://icons.iconarchive.com/icons/artdesigner/gentle-romantic/256/rose-icon.png");
}
Provare a eseguire il programma di cui sopra e il ridimensionamento della finestra per vedere l'effetto dei \n
nuovi valori di riga nel testo dell'etichetta pure come la proprietà wrapText sull'etichetta. Modifica l'impostazione wrapText da true a false per vedere la differenza tra avere wrapText attivato e disattivato.
Hai controllato il controllo [TextArea] (http://docs.oracle.com/javafx/2/api/javafx/scene/control/TextArea.html)? Puoi renderlo non modificabile e modificarlo per sembrare un'etichetta. – OttPrime
Grazie OttPrime, sì, questa è l'idea che sto seguendo attualmente. Mi chiedo ancora se non ci sia un vero controllo per la visualizzazione del testo? Qualcosa come un RichTextBox in .NET? –
The [HTMLEditor] (http://docs.oracle.com/javafx/2/ui_controls/editor.htm) è il più vicino a un RichTextBox ma probabilmente è un po 'più funzionale di quello che stai cercando. – OttPrime