📅  最后修改于: 2023-12-03 15:16:03.739000             🧑  作者: Mango
JavaFX 提供了一些功能强大的文本控件,可以用来展示文本内容、接收用户输入等。
Label
是用来展示静态文本内容的控件,可以设置文本内容、字体样式、对齐方式、文本颜色等。
Label label = new Label("Hello World");
label.setFont(new Font("Arial", 20));
label.setTextFill(Color.BLUE);
label.setAlignment(Pos.CENTER);
TextField
是一个单行文本输入框,可以让用户输入文本内容,并且可以通过监听事件来获取输入的内容。
TextField textField = new TextField();
textField.setPromptText("请输入用户名");
textField.setOnAction(e -> {
String text = textField.getText();
System.out.println("您输入的用户名是:" + text);
});
TextArea
是一个多行文本输入框,可以让用户输入多行文本内容,并且可以通过监听事件来获取输入的内容。
TextArea textArea = new TextArea();
textArea.setPromptText("请输入描述信息");
textArea.setPrefRowCount(4);
textArea.setOnKeyPressed(e -> {
if (e.getCode() == KeyCode.ENTER) {
String text = textArea.getText();
System.out.println("您输入的描述信息是:" + text);
}
});
PasswordField
是一个单行文本输入框,用于输入密码,输入的内容会以星号的形式展示。
PasswordField passwordField = new PasswordField();
passwordField.setPromptText("请输入密码");
passwordField.setOnAction(e -> {
String password = passwordField.getText();
System.out.println("您输入的密码是:" + password);
});
Hyperlink
是一个文本超链接,可以用于跳转到其他网页或执行应用程序中的其他功能。
Hyperlink hyperlink = new Hyperlink("进入我的博客");
hyperlink.setOnAction(e -> {
// 打开网页
getHostServices().showDocument("https://www.example.com/");
});
除了上面提到的这些控件,JavaFX 还提供了很多其他的文本控件,如 Pagination
、WebView
、ContentDisplay
等,可以根据实际需求选择不同的控件来展示文本内容或接收用户输入。