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 窗口,如下所示。