TextFlow类是JavaFX的一部分。TextFlow类设计用于布局富文本。它可以用于在单个文本流中布局多个文本节点。TextFlow类扩展了 窗玻璃 班
null
类的构造函数:
- TextFlow() :创建一个新的textflow对象。
- 文本流(节点…c) :创建具有指定节点的新textflow对象。
常用方法:
方法 | 解释 |
---|---|
getLineSpacing() | 返回文本流的行距 |
getTextAlignment() | 返回文本流的文本对齐方式 |
设置行间距(双s) | 设置文本流的行距。 |
setTextAlignment(文本对齐v) | 设置文本流的文本对齐方式。 |
下面的程序演示了TextFlow类的使用:
- 创建文本流并向其中添加文本对象的Java程序: 在这个程序中,我们将创建一个名为 文本流 还有两个文本名为 文本1 和 文本2 .使用 setFill() 和 setFont() .我们将把文本添加到 文本流 使用 getChildren()。添加() 作用添加 文本流 一幕接一幕地登上舞台。打电话给 show() 函数来显示最终结果。
// Java program to create a TextFlow and
// add text object to it .
import
javafx.application.Application;
import
javafx.scene.Scene;
import
javafx.scene.control.*;
import
javafx.scene.layout.*;
import
javafx.stage.Stage;
import
javafx.event.ActionEvent;
import
javafx.scene.paint.*;
import
javafx.scene.text.*;
import
javafx.scene.web.*;
import
javafx.scene.layout.*;
import
javafx.scene.shape.*;
public
class
TextFlow_0
extends
Application {
// launch the application
public
void
start(Stage stage)
{
try
{
// set title for the stage
stage.setTitle(
"TextFlow"
);
// create TextFlow
TextFlow text_flow =
new
TextFlow();
// create text
Text text_1 =
new
Text(
"GeeksforGeeks"
);
// set the text color
text_1.setFill(Color.RED);
// set font of the text
text_1.setFont(Font.font(
"Verdana"
,
25
));
// create text
Text text_2 =
new
Text(
"The computer science portal for geeks"
);
// set the text color
text_2.setFill(Color.BLUE);
// set font of the text
text_2.setFont(Font.font(
"Helvetica"
, FontPosture.ITALIC,
15
));
// add text to textflow
text_flow.getChildren().add(text_1);
text_flow.getChildren().add(text_2);
// create a scene
Scene scene =
new
Scene(text_flow,
400
,
300
);
// set the scene
stage.setScene(scene);
stage.show();
}
catch
(Exception e) {
System.out.println(e.getMessage());
}
}
// Main Method
public
static
void
main(String args[])
{
// launch the application
launch(args);
}
}
输出:
- Java程序创建文本流并向其添加文本对象,设置文本对齐方式并设置文本流的行距: 在这个程序中,我们将创建一个名为 文本流 还有两个文本名为 文本1 和 文本2 .使用 setFill() 和 setFont() .使用 setTextAlignment() 并使用 setLineSpacing() 作用将文本添加到 文本流 使用 getChildren()。添加() 作用添加 文本流 到Vbox。将vbox场景和场景添加到舞台。打电话给 show() 函数来显示最终结果。
// Java program to create a TextFlow and
// add text object to it, set text Alignment
// and set line spacing of the text flow.
import
javafx.application.Application;
import
javafx.scene.Scene;
import
javafx.scene.control.*;
import
javafx.scene.layout.*;
import
javafx.stage.Stage;
import
javafx.scene.layout.*;
import
javafx.scene.paint.*;
import
javafx.scene.text.*;
import
javafx.geometry.*;
import
javafx.scene.layout.*;
import
javafx.scene.shape.*;
public
class
TextFlow_1
extends
Application {
// launch the application
public
void
start(Stage stage)
{
try
{
// set title for the stage
stage.setTitle(
"FlowPane"
);
// create TextFlow
TextFlow text_flow =
new
TextFlow();
// create text
Text text_1 =
new
Text(
"GeeksforGeeks"
);
// set the text color
text_1.setFill(Color.GREEN);
// set font of the text
text_1.setFont(Font.font(
"Verdana"
,
25
));
// create text
Text text_2 =
new
Text(
"The computer science portal for geeks"
);
// set the text color
text_2.setFill(Color.BLUE);
// set font of the text
text_2.setFont(Font.font(
"Helvetica"
, FontPosture.ITALIC,
15
));
// add text to textflow
text_flow.getChildren().add(text_1);
text_flow.getChildren().add(text_2);
// set text Alignment
text_flow.setTextAlignment(TextAlignment.CENTER);
// set line spacing
text_flow.setLineSpacing(
20
.0f);
// create VBox
VBox vbox =
new
VBox(text_flow);
// set alignment of vbox
vbox.setAlignment(Pos.CENTER);
// create a scene
Scene scene =
new
Scene(vbox,
400
,
300
);
// set the scene
stage.setScene(scene);
stage.show();
}
catch
(Exception e) {
System.out.println(e.getMessage());
}
}
// Main Method
public
static
void
main(String args[])
{
// launch the application
launch(args);
}
}
输出:
注: 以上程序可能无法在联机IDE中运行,请使用脱机编译器。
参考: https://docs.oracle.com/javase/8/javafx/api/javafx/scene/text/TextFlow.html
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END