JavaFX 的 Label 控件

先看一段Label 的示例程序:

 

package controls;

import javafx.application.Application;
import javafx.event.EventHandler;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
import javafx.scene.input.MouseEvent;
import javafx.scene.layout.HBox;
import javafx.scene.paint.Color;
import javafx.scene.text.Font;
import javafx.stage.Stage;

public class LabelExample extends Application {
    public static void main(String[] args) {
        launch(args);
    }
    
    @Override
    public void start(Stage primaryStage) {
        primaryStage.setTitle("Label Example");
        Image image = new Image(getClass().getResourceAsStream("search-label.jpg"));
        Label label1 = new Label("Search");
        label1.setGraphic(new ImageView(image));
        label1.setTextFill(Color.web("#0076a3"));
        label1.setFont(new Font("Arial", 30));
        
        Label label2 = new Label("Values");
        label2.setFont(new Font("Cambria", 32));
        label2.setRotate(270);
        label2.setTranslateY(50);
        
        final Label label3 = new Label("A label that needsto be wrapped");
        label3.setWrapText(true);
        
        label3.setOnMouseEntered(new EventHandler(){
        	@Override
        	public void handle(MouseEvent e){
        		label3.setScaleX(1.5);
        		label3.setScaleY(1.5);
        	}
        });
        label3.setOnMouseExited(new EventHandler(){
        	@Override
        	public void handle(MouseEvent e){
        		label3.setScaleX(1);
        		label3.setScaleY(1);
        	}
        });
        HBox root = new HBox();
        root.getChildren().add(label1);
        root.getChildren().add(label2);
        root.getChildren().add(label3);
        primaryStage.setScene(new Scene(root, 300, 250));
        primaryStage.show();
    }
}


其执行结果如下图所示:

JavaFX 的 Label 控件_第1张图片

 

从这个示例程序中,我们可以看到使用了 Label 的下列方法:

    Label.setGraphic(ImageView): 设置该 Label 的图像。一个Label 除了关联文本外,还可以关联一个图像。

    Label.setTextFill(Color): 设置Label 的文本颜色。

    Label.setFont(Font):设置字体,字号。

    Label.setRotate(int): 设置内容旋转。可以将Label 旋转一定角度显示。

    Label.setTranslateY(50): 在垂直方向将Label 移动50.

    Label.setWrapText(boolean): 设置自动换行。

    Label.setScaleX(int),Label.setScaleY(int):缩放。

 

    更多内容可以参考 JavaFX API。

 

你可能感兴趣的:(JavaFX)