现在的位置: 首页 > 综合 > 正文

Using JavaFX UI Controls(Label的用法)

2014年02月10日 ⁄ 综合 ⁄ 共 1774字 ⁄ 字号 评论关闭

2标签

本章介绍如何使用标签类驻留在显示文本元素的JavaFX
API中
javafx.scene.control包。了解如何包装一个文本元素,以适应特定的空间,添加图形图像,或适用的视觉效果。

图2-1显示了三种常用的标签用法。在左边的标签是一个形象的文本元素,在该中心的标签代表旋转的文本,并在合适的标签的文本呈现包裹。

图2-1标签示例应用程序

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package labelsample;

import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
import javafx.scene.input.MouseEvent;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;

/**
 *
 * @author Administrator
 */
public class LabelSample extends Application {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        launch(args);
    }
    
    @Override
    public void start(Stage primaryStage) {
        primaryStage.setTitle("Hello Label!");
        
        Image image = new Image(getClass().getResourceAsStream("search.png"));
        final Label label1 = new Label("",new ImageView(image));
        
        label1.setOnMouseEntered(new EventHandler<MouseEvent>(){

            @Override
            public void handle(MouseEvent e) {
                label1.setScaleX(2.5);
                label1.setScaleY(2.5);
            }
            
        });
        
        label1.setOnMouseExited(new EventHandler<MouseEvent>(){

            @Override
            public void handle(MouseEvent e) {
                label1.setScaleX(1);
                label1.setScaleY(1);
            }
            
        });
        
        final Label label2 = new Label("A label that needs to be wrapped");
        label2.setWrapText(true);
        label2.setOnMouseEntered(new EventHandler<MouseEvent>(){

            @Override
            public void handle(MouseEvent e) {
                label2.setScaleX(2.5);
                label2.setScaleY(2.5);
            }
            
        });
        label2.setOnMouseExited(new EventHandler<MouseEvent>(){

            @Override
            public void handle(MouseEvent e) {
                label2.setScaleX(1);
                label2.setScaleY(1);
            }
            
        });
        
        StackPane root = new StackPane();
        root.getChildren().add(label1);
        root.getChildren().add(label2);
        primaryStage.setScene(new Scene(root, 300, 250));
        primaryStage.show();
    }
}


 

抱歉!评论已关闭.