JavaFX 标签控件可以在 JavaFX GUI 中显示文本或图像标签。标签控件必须添加到场景图中才能可见。JavaFX Label 控件由类表示 javafx.scene.control.Label。
创建标签
您可以通过创建Label类的实例来创建标签控件实例。这是一个 JavaFX 标签实例化示例:
Label label = new Label("My Label");
如您所见,要在标签中显示的文本作为参数传递给Label 构造函数。
向场景图形添加标签
要使其Label可见,您必须将其添加到场景图中。这意味着将其添加到 Scene对象中,或者作为附加到对象的布局的子项Scene。
这是一个将 JavaFX 附加Label到场景图的示例:
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.stage.Stage;
public class LabelExperiments extends Application {
@Override
public void start(Stage primaryStage) throws Exception {
primaryStage.setTitle("HBox Experiment 1");
Label label = new Label("My Label");
Scene scene = new Scene(label, 200, 100);
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
Application.launch(args);
}
}
请注意,Label直接添加到Scene对象中。通常你会在Label里面嵌套某种布局组件。为了使示例简单,我将其省略了。请参阅有关布局组件的教程以了解它们是如何工作的。
运行上述 JavaFXLabel示例的结果是一个如下所示的应用程序:
在标签中显示图像
可以在标签文本旁边的标签内显示图像。JavaFXLabel类包含一个可以采用Node额外参数的构造函数。这是一个 JavaFX 标签示例,它使用JavaFX ImageView组件将图像添加到标签:
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
import javafx.stage.Stage;
import java.io.FileInputStream;
public class LabelExperiments extends Application {
@Override
public void start(Stage primaryStage) throws Exception {
primaryStage.setTitle("HBox Experiment 1");
FileInputStream input = new FileInputStream("resources/images/iconmonstr-home-6-48.png");
Image image = new Image(input);
ImageView imageView = new ImageView(image);
Label label = new Label("My Label", imageView);
Scene scene = new Scene(label, 200, 100);
primaryStage.setScene(scene);
primaryStage.show();
}
public static void main(String[] args) {
Application.launch(args);
}
}
运行上述 JavaFXLabel示例的结果是一个如下所示的应用程序:
更改标签的文本
您可以使用其setText()方法更改标签的文本。这可以在应用程序运行时完成。下面是一个设置 JavaFX 标签文本的示例:
label.setText("New label text");
有关单击按钮时更改标签文本的示例, 请参阅JavaFX 按钮教程。
设置标签字体
Label您可以通过调用其setFont()方法 来更改 JavaFX 使用的字体。如果您需要更改文本的大小或想要使用不同的文本样式,这很有用。您可以在我的JavaFX 字体教程中阅读有关如何创建 JavaFX 字体的更多信息。这是设置 JavaFX 字体的示例Label:
Label label = new Label("A label with custom font set.");
label.setFont(new Font("Arial", 24));
此示例告诉Label使用Arial大小为 24 的字体。