javafx学习笔记(一)

关于窗口的切换和警告框的调用

//导入相关的工具包
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;
import javafx.scene.control.Button;
public class note2 extends Application{
    //定义舞台和场景
    Stage window;
    Scene scene1,scene2; 
    @Override
    public void start(Stage primaryStage) throws Exception{
        window = primaryStage;
        Label label1=new Label("this is first scene");
        Button bt1=new Button("go to scene2");
        //设置动作,点击按钮在舞台上设置新的场景
        bt1.setOnAction(e -> window.setScene(scene2));
       //将节点加入面板
        VBox vbox=new VBox();
        vbox.getChildren().addAll(label1,bt1);
        //将面板加入场景
        scene1=new Scene(vbox,500,500);

        Label label2=new Label("this is second scene");
        Button bt2=new Button("return to first scene"),alertButton=new Button("alertWindow");
        bt2.setOnAction(e -> window.setScene(scene1));
        //点击按钮,创建警告框,AlertWindow的代码在下面给出
        alertButton.setOnAction(event -> AlertWindow.display("这是警告框","这是警告内容"));
       
        VBox vb2=new VBox();
        vb2.getChildren().addAll(label2,bt2,alertButton);
        scene2=new Scene(vb2,300,200);
       //在舞台上展示场景1
        window.setScene(scene1);
        window.setTitle("switch scene test");
        window.show();
    }
}

接下来是AlertWindow的代码

import javafx.geometry.Pos;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.control.Label;
import javafx.scene.layout.VBox;
import javafx.stage.Modality;
import javafx.stage.Stage;
public class AlertWindow {
   //通过创建AlertWindow对象,调用display方法创建警告框
    public static void display(String title,String message){
        Stage window=new Stage();
       //设置运行模式为Modality.APPLICATION_MODAL,阻止用户与之前窗口进行交互
        window.initModality(Modality.APPLICATION_MODAL);
        window.setTitle(title);
        window.setMinWidth(300);

        Label label=new Label();
        label.setText(message);
        Button closeButton=new Button("关闭该窗口");
        closeButton.setOnAction(event -> window.close());

        VBox vBox=new VBox(10);
        vBox.getChildren().addAll(label,closeButton);
        vBox.setAlignment(Pos.CENTER);

        Scene scene=new Scene(vBox);
        window.setScene(scene);
        window.showAndWait();
    }

}

通过以上两段代码就实现了JavaFX的窗口切换和警告框的创建
javafx学习笔记(一)_第1张图片
点击按钮,切换到场景2
javafx学习笔记(一)_第2张图片
点击按钮选择返回窗口或者建立警告框
javafx学习笔记(一)_第3张图片

你可能感兴趣的:(javafx学习笔记(一))