JavaFx在同一个Scence/Window加载新的fxml,以及在Controller中获取Stage

1.有这样的一种场景:在一个界面A中有一个按钮,点击这个按钮后,会弹出界面B,此时界面A已经不存在了。
```
//这是界面A的Controller
public class HBoxMainController {
    @FXML
    private VBox rootVBox;//这是界面A的根布局的id
    @FXML
    private Button getPath;//这是界面A中的按钮
    //这是界面A中的按钮的点击事件
    @FXML
    private void getPathAction(){
        try {
        //加载界面B的fxml文件
            Parent root = FXMLLoader.load(getClass().getResource("/HBoxMain.fxml"));
            //将一个新的fxml文件(界面B)加入到界面A的根布局上。
            rootVBox.getChildren().setAll(root);
        } catch (IOException e) {
            e.printStackTrace();
        }
```
2. 有时需要在Controller中获取Stage对象
```
在1中执行下面这行代码即可获取Stage对象
Stage stage = (Stage) rootVBox.getScene().getWindow();
```
  • 6
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值