JavaFx之模态窗口(二十六)
JavaFx之模态窗口(二十六)
模态窗口:在场景A打开场景B,则A场景无法选择和操作,只能操作B
设置方式,在场景B初始化时设置
stage.initModality(Modality.APPLICATION_MODAL);
简单例示:
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.layout.HBox;
import javafx.stage.Modality;
import javafx.stage.Stage;
/**
* @author lingkang
* Created by 2022/8/15
*/
public class Demo02 extends Application {
@Override
public void start(Stage primaryStage) throws Exception {
primaryStage.setTitle("主窗口");
primaryStage.setHeight(200);
primaryStage.setWidth(350);
Button button = new Button("打开模态框!");
button.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent event) {
Stage dialog = new Stage();
// 模态框基本设置
dialog.setWidth(400);
dialog.setHeight(300);
dialog.setScene(new Scene(new HBox(new Label("模态框"))));
dialog.initOwner(primaryStage);
dialog.initModality(Modality.NONE);// 可以选择不同类型的模态框
dialog.showAndWait();// 显示
}
});
primaryStage.setScene(new Scene(button));
// 显示主页面
primaryStage.show();
}
public static void main(String[] args) {
launch(args);
}
}
可以看到,并没有打开多个底部窗口。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!