JavaFX 标签控件可以在 JavaFX GUI 中显示文本或图像标签。标签控件必须添加到场景图中才能可见。JavaFX Label 控件由类表示 javafx.scene.control.Label。

创建标签

您可以通过创建Label类的实例来创建标签控件实例。这是一个 JavaFX 标签实例化示例:

  1. Label label = new Label("My Label");

如您所见,要在标签中显示的文本作为参数传递给Label 构造函数。

向场景图形添加标签

要使其Label可见,您必须将其添加到场景图中。这意味着将其添加到 Scene对象中,或者作为附加到对象的布局的子项Scene。
这是一个将 JavaFX 附加Label到场景图的示例:

  1. import javafx.application.Application;
  2. import javafx.scene.Scene;
  3. import javafx.scene.control.Label;
  4. import javafx.stage.Stage;
  5. public class LabelExperiments extends Application {
  6. @Override
  7. public void start(Stage primaryStage) throws Exception {
  8. primaryStage.setTitle("HBox Experiment 1");
  9. Label label = new Label("My Label");
  10. Scene scene = new Scene(label, 200, 100);
  11. primaryStage.setScene(scene);
  12. primaryStage.show();
  13. }
  14. public static void main(String[] args) {
  15. Application.launch(args);
  16. }
  17. }

请注意,Label直接添加到Scene对象中。通常你会在Label里面嵌套某种布局组件。为了使示例简单,我将其省略了。请参阅有关布局组件的教程以了解它们是如何工作的。
运行上述 JavaFXLabel示例的结果是一个如下所示的应用程序:
JavaFX 标签 - 图1

在标签中显示图像

可以在标签文本旁边的标签内显示图像。JavaFXLabel类包含一个可以采用Node额外参数的构造函数。这是一个 JavaFX 标签示例,它使用JavaFX ImageView组件将图像添加到标签:

  1. import javafx.application.Application;
  2. import javafx.scene.Scene;
  3. import javafx.scene.control.Label;
  4. import javafx.scene.image.Image;
  5. import javafx.scene.image.ImageView;
  6. import javafx.stage.Stage;
  7. import java.io.FileInputStream;
  8. public class LabelExperiments extends Application {
  9. @Override
  10. public void start(Stage primaryStage) throws Exception {
  11. primaryStage.setTitle("HBox Experiment 1");
  12. FileInputStream input = new FileInputStream("resources/images/iconmonstr-home-6-48.png");
  13. Image image = new Image(input);
  14. ImageView imageView = new ImageView(image);
  15. Label label = new Label("My Label", imageView);
  16. Scene scene = new Scene(label, 200, 100);
  17. primaryStage.setScene(scene);
  18. primaryStage.show();
  19. }
  20. public static void main(String[] args) {
  21. Application.launch(args);
  22. }
  23. }

运行上述 JavaFXLabel示例的结果是一个如下所示的应用程序:
JavaFX 标签 - 图2

更改标签的文本

您可以使用其setText()方法更改标签的文本。这可以在应用程序运行时完成。下面是一个设置 JavaFX 标签文本的示例:

  1. label.setText("New label text");

有关单击按钮时更改标签文本的示例, 请参阅JavaFX 按钮教程。

设置标签字体

Label您可以通过调用其setFont()方法 来更改 JavaFX 使用的字体。如果您需要更改文本的大小或想要使用不同的文本样式,这很有用。您可以在我的JavaFX 字体教程中阅读有关如何创建 JavaFX 字体的更多信息。这是设置 JavaFX 字体的示例Label:

  1. Label label = new Label("A label with custom font set.");
  2. label.setFont(new Font("Arial", 24));

此示例告诉Label使用Arial大小为 24 的字体。