JavaFX Stage

Stage

尺寸

primaryStage.setWidth(600);
primaryStage.setHeight(600);
primaryStage.setMaxWidth(1000);
primaryStage.setMaxHeight(800);
primaryStage.setMinWidth(300);
primaryStage.setMinHeight(300);

//不可改变窗口大小
primaryStage.setResizable(false);

获取宽高

//show之后获取
double width = primaryStage.getWidth();
double height = primaryStage.getHeight();

样式

//标题
primaryStage.setTitle("JavaFX");
//图标
primaryStage.getIcons().add(new Image("image\\portrait.jpg"));

//启动最小化
primaryStage.setIconified(true);
//启动最大化
primaryStage.setMaximized(true);

//全屏 需要设置Scene
primaryStage.setFullScreen(true);
FlowPane root = new FlowPane();
primaryStage.setScene(new Scene(root, 800, 500));

//透明度
primaryStage.setOpacity(0.5);
//置顶
primaryStage.setAlwaysOnTop(true);
//初始位置
primaryStage.setX(100);
primaryStage.setY(200);

//设置窗口Style
primaryStage.initStyle(StageStyle.UNDECORATED);
//显示
primaryStage.show();

//设置模态
Stage stage = new Stage();
stage.setWidth(300);
stage.setHeight(300);
stage.show();

Stage stage2 = new Stage();
stage2.initOwner(stage);
stage2.setWidth(200);
stage2.setHeight(200);
//stage2 相对于 stage
stage2.initModality(Modality.WINDOW_MODAL);
//相对于整个应用
stage2.initModality(Modality.APPLICATION_MODAL);
stage2.show();

//关闭
primaryStage.close();

监听

监听窗口大小改变

primaryStage.widthProperty().addListener(new ChangeListener<Number>() {
    @Override
    public void changed(ObservableValue<? extends Number> observable, Number oldValue, Number newValue) {
        System.out.println("observable = " + observable + ", oldValue = " + oldValue + ", newValue = " + newValue);
    }
});

监听位置改变

primaryStage.xProperty().addListener(new ChangeListener<Number>() {
    @Override
    public void changed(ObservableValue<? extends Number> observable, Number oldValue, Number newValue) {
        System.out.println("observable = " + observable + ", oldValue = " + oldValue + ", newValue = " + newValue);
    }
});

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值