JavaFX(第二篇)Stage和Modality.WINDOW_MODAL

2021/7/9 9:10:25

本文主要是介绍JavaFX(第二篇)Stage和Modality.WINDOW_MODAL,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

Stage是javaFX程序的窗口,它的方法initModality( Modality )可以指定窗口的几种状态。

其中一个状态是Modality.WINDOW_MODAL  , stage A设置了这个属性,则A的父stage就被block(文档上的说法)直到A关闭才解除block。

那么什么算是block呢?

经过下面代码测试,发现父stage右上角的放大缩小可用,但是右上角的关闭按钮被block,里面的交互控件也被block

	@Override
	public void start(Stage arg0) throws Exception {
		VBox vBox = new VBox();
		
		BorderPane borderPane = new BorderPane();
		javafx.scene.control.Button button = new javafx.scene.control.Button("hello");
		button.setOnAction((e)->{
			System.out.println("click");
		});
		borderPane.setCenter(button);

		arg0.setScene(new Scene(borderPane,200,200));

		Stage stage = new Stage();
		stage.setTitle("sub stage");
		stage.setScene(new Scene(vBox));
		
		stage.initOwner(arg0);
		stage.initModality(Modality.WINDOW_MODAL);
		
		arg0.initStyle(StageStyle.DECORATED);
		
		arg0.show();
		stage.showAndWait();
	}


这篇关于JavaFX(第二篇)Stage和Modality.WINDOW_MODAL的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程