Javafx顶级容器Stage(舞台)

继承关系:

java.lang.Object
javafx.stage.Window
javafx.stage.Stage

基本属性设置:

public class TestStage extends Application{

	public static void main(String[] args) {
		launch();
	}
	public void start(Stage primaryStage) throws Exception {
		//设置标题
		primaryStage.setTitle("stage");
		
		//设置初始大小
		primaryStage.setWidth(300);
		primaryStage.setHeight(300);
		//显示窗口
		primaryStage.show();
	}
}

在这里插入图片描述

		//设置图标
		//primaryStage.getIcons().add(new Image("path") );
		//最小化
		//primaryStage.setIconified(true);
		//最大化
		//primaryStage.setMaximized(true);
		//关闭窗口
		//primaryStage.close();
		
		//设置大小范围
		//primaryStage.setMaxHeight(value);
		//primaryStage.setMinHeight(value);
		//宽度设置同理
		

		primaryStage.widthProperty().addListener(new ChangeListener<Number>(){
			public void changed(ObservableValue<? extends Number> observable, Number oldValue, Number newValue) {
				//监听窗口属性
			}
		});
		

        //获得高度
		//primaryStage.getHeight();
		
		//设置是否可改变大小
		//primaryStage.setResizable(false);
		
		//设置全屏
		//primaryStage.setFullScreen(true);
		//设置场景Scene
		//primaryStage.setScene(new Scene(new Pane()));
		//透明度
	    //primaryStage.setOpacity(0.5);
		//设置置顶
	   	//primaryStage.setAlwaysOnTop(true);
	   	
		//设置位于桌面屏幕坐标
		//primaryStage.setX(value);

不可改变大小
在这里插入图片描述
透明度0.5
在这里插入图片描述
置顶

	//设置永久置顶,直至窗口关闭
	primaryStage.setAlwaysOnTop(true);
	//设置一次置顶
	primaryStage.toFront();

焦点

	//获取焦点
	primaryStage.requestFocus();
	//监听焦点属性 如果失去焦点则发出获取焦点请求 
	primaryStage.focusedProperty().addListener(new ChangeListener<Boolean>(){
			public void changed(ObservableValue<? extends Boolean> observable, Boolean oldValue, Boolean newValue) {
				if(!primaryStage.isFocused()){
					primaryStage.requestFocus();
				}
			}
		});
  • 风格样式style

    • StageStyle.DECORATED 一个有纯白背景和平台装饰的舞台。
      在这里插入图片描述
    • StageStyle.UNDECORATED纯白背景,无装饰的舞台。
      纯白背景所以看不见,但内部节点可见 比如这个按钮
      在这里插入图片描述
    • StageStyle.TRANSPARENT一个有透明背景且没有装饰的舞台。
      透明所以看不见和UNDECORATED差不多
    • StageStyle.UTILITY 一个有纯白背景和最少平台装饰的舞台。
      在这里插入图片描述
    • StageStyle.UNIFIED 一个统一标准的舞台。
      没有最大化,最小化选项在这里插入图片描述
  • 模式(Modality)

    • Modality.NONE 不阻止任何其他窗口的阶段。
    • Modality.WINDOW_MODAL 阻止输入事件从其所有者(父)传递到所有窗口的阶段。它的根是最近的没有所有者的祖先窗口。
    • Modality.APPLICATION_MODAL 阻止输入事件从同一应用程序传递到所有窗口的阶段,子层次结构中的事件除外。
	stage.initModality(Modality.APPLICATION_MODAL);//模态
	stage.initOwner(fstage);//设置拥有者

stage将阻止消息传入fstage,系统发出警告声音

猜你喜欢

转载自blog.csdn.net/qq_39464369/article/details/88928124