JavaFX - 布局窗格文本流
如果我们使用此布局,您可以在单个流中设置多个文本节点。包 javafx.scene.layout 中名为 textFlow 的类表示文本流。
此类提供两个属性,即 −
lineSpacing − 此属性为双精度类型,用于定义文本对象之间的间距。您可以使用名为 setLineSpacing() 的方法设置此属性。
textAlignment − 此属性表示窗格中文本对象的对齐方式。您可以使用方法 setTextAlignment() 设置此属性的值。您可以向此方法传递四个值:CENTER、JUSTIFY、LEFT、RIGHT。
示例
以下程序是文本流布局的示例。在此程序中,我们创建了三个文本对象,其字体为 15,颜色各异。然后,我们将它们添加到文本流窗格中,对齐值为 Justify,行距为 15。
将此代码保存在名为 TextFlowExample.java 的文件中。
import javafx.application.Application;
import javafx.collections.ObservableList;
import javafx.scene.Scene;
import javafx.scene.paint.Color;
import javafx.scene.text.Font;
import javafx.scene.text.Text;
import javafx.scene.text.TextAlignment;
import javafx.scene.text.TextFlow;
import javafx.stage.Stage;
public class TextFlowExample extends Application {
@Override
public void start(Stage stage) {
//创建文本对象
Text text1 = new Text("欢迎来到 Tutorialspoint ");
//设置文本字体
text1.setFont(new Font(15));
//设置文本颜色
text1.setFill(Color.DARKSLATEBLUE);
Text text2 = new Text("我们为读者提供各种技术的免费教程 ");
//设置文本字体
text2.setFont(new Font(15));
//设置文本颜色
text2.setFill(Color.DARKGOLDENROD);
Text text3 = new Text("
最近我们也开始了免费视频教程 ");
//设置文本字体
text3.setFont(new Font(15));
//设置文本颜色
text3.setFill(Color.DARKGRAY);
Text text4 = new Text("我们相信轻松学习");
//为文本设置字体
text4.setFont(new Font(15));
text4.setFill(Color.MEDIUMVIOLETRED);
//创建文本流平面
TextFlow textFlowPane = new TextFlow();
//设置文本对象之间的行距
textFlowPane.setTextAlignment(TextAlignment.JUSTIFY);
//设置宽度
textFlowPane.setPrefSize(600, 300);
//设置行距
textFlowPane.setLineSpacing(5.0);
//检索 TextFlow Pane 的可观察列表
ObservableList list = textFlowPane.getChildren();
//将圆柱体添加到窗格
list.addAll(text1, text2, text3, text4);
//创建场景对象
Scene scene = new Scene(textFlowPane);
//设置舞台(Stage)标题
stage.setTitle("text Flow Pane Example");
//将场景添加到舞台(Stage)
stage.setScene(scene);
//显示舞台(Stage)内容
stage.show();
}
public static void main(String args[]){
launch(args);
}
}
使用以下命令从命令提示符编译并执行保存的 java 文件。
javac TextFlowExample.java java TextflowExample
执行时,上述程序将生成一个 JavaFX 窗口,如下所示。

javafx_layout_panes.html