Javafx 简明教程

JavaFX - Label

Label 是文本的一部分,它描述或告诉用户有关应用程序中其他元素功能的信息。它有助于减少干扰并且提供清晰性,从而带来更好的用户体验。始终记得,它不是一个可编辑文本控件。在下图中,我们可以在红色方框中看到一个按钮,还有一些描述其用途的文本 −

sample label

Label in JavaFX

在 JavaFX 中,标签由属于 javafx.scene.control 包的 Label 类表示。要在 JavaFX 应用程序中创建标签,我们可以使用以下任何构造函数 −

  1. Label() − 它是构建一个空标签的默认构造函数。

  2. Label(String str) − 它构建一个具有预定义文本的标签。

  3. Label(String str, Node graph) − 它使用指定文本和图形构建一个新标签。

Steps to create a Label in JavaFX

要在 JavaFX 中创建标签,请按照以下步骤操作 −

Step 1: Instantiate the Label class

如前所述,我们需要实例化 Label 类来创建标签文本。我们可以使用其默认构造函数或参数化构造函数。如果使用默认构造函数,则通过 setText() 方法添加标签文本。

// Instanting the Label class
Label label = new Label("Sample label");

Step 2: Set the required properties of Label

就像文本节点一样,我们可以使用 setFont() 方法和 setFill() 方法分别为 JavaFX 中的标签节点设置所需属性,如字体和字体颜色。

// Setting font to the label
Font font = Font.font("Brush Script MT", FontWeight.BOLD, FontPosture.REGULAR, 25);
label.setFont(font);
// Filling color to the label
label.setTextFill(Color.BROWN);

Step 4: Launching Application

一旦创建了标签并设置其属性,请定义一个 group 对象来保存标签。接下来,通过将其组对象和场景的尺寸传递到其构造函数来创建一个 Scene 对象。然后,设置舞台并启动应用程序以显示结果。

Example

在以下示例中,我们将在 JavaFX 应用程序中创建一个标签。将此代码另存为名称为 JavafxLabel.java 的文件。

import javafx.application.Application;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.scene.paint.Color;
import javafx.scene.text.Font;
import javafx.scene.text.FontPosture;
import javafx.scene.text.FontWeight;
import javafx.stage.Stage;
public class JavafxLabel extends Application {
   public void start(Stage stage) {
      //Creating a Label
      Label label = new Label("Sample label");
      //Setting font to the label
      Font font = Font.font("Brush Script MT", FontWeight.BOLD, FontPosture.REGULAR, 25);
      label.setFont(font);
      //Filling color to the label
      label.setTextFill(Color.BROWN);
      //Setting the position
      label.setTranslateX(150);
      label.setTranslateY(25);
      Group root = new Group();
      root.getChildren().add(label);
      //Setting the stage
      Scene scene = new Scene(root, 400, 300, Color.BEIGE);
      stage.setTitle("Label Example");
      stage.setScene(scene);
      stage.show();
   }
   public static void main(String args[]){
      launch(args);
   }
}

要从命令提示符编译并执行已保存的 Java 文件,请使用以下命令−

javac --module-path %PATH_TO_FX% --add-modules javafx.controls JavafxLabel.java
java --module-path %PATH_TO_FX% --add-modules javafx.controls JavafxLabel

当我们执行上述代码时,它将生成一个标签文本,如下面的输出所示。

label output