JavaFX跨页面view数据传递问题

1.问题描述

目前是需要一个登陆成功后跳转到主页面,主页面中包含多个view,一个loginController,一个InfoController,就是将登陆后的用户数据上传到InfoController中进行显示,涉及到跨页面传递数据的问题

2.问题解决 

2.1 getController方式

 (1)可以在loginController中进行获取InfoController

//传数据
        FXMLLoader fxmlLoader = new FXMLLoader(getClass().getResource("/view/infoView.fxml"));
        fxmlLoader.load();
        InfoController infoController = fxmlLoader.getController();
        infoController.setAuthentication(authentication); //这里就是你需要传的值
        //view切换
        Stage primaryStage=(Stage)login.getScene().getWindow();
        primaryStage.close();
        SalarySystemApplication.showView(MainView.class);

(2)InfoController

 private Authentication  authentication ;


    public void setAuthentication(Authentication authentication){
        this.authentication=authentication;
        System.out.println(this.authentication+"ooo");
    }

set进来就可以直接获取了

2.2 Map方式(推荐)

(1)新建一个传数据的map进行数据传递

public class TransferDataUtils {
    public static Map<String, Object> CONTROLLER=new HashMap<String, Object>();
}

(2)在loginController中进行set

  TransferDataUtils.CONTROLLER.put("authentication",authentication);

(3)在InfoController中进行get

 Authentication authentication=(Authentication) TransferDataUtils.CONTROLLER.get("authentication");

完成了数据传递

 

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JavaFXJava平台上用于创建富客户端应用程序的图形界面工具包。它提供了丰富的UI控件和灵活的布局容器,可用于构建各种界面效果。 在JavaFX,可以使用FXML(FXML是JavaFX的一种XML文件格式)来定义界面布局。下面是一个简单的JavaFX数据新建页面案例: 1. 首先,我们需要创建一个FXML文件,其包含界面的布局。可以使用Scene Builder等工具来设计和生成FXML文件。 2. 在FXML文件,可以使用各种JavaFX的UI控件,如Label、TextField、Button等,来设计页面的各个组件。 3. 在Java代码,可以使用FXMLLoader类来加载FXML文件,并将其与一个Controller类关联起来。Controller类负责处理界面的各种事件和交互逻辑。 4. 在Controller类,可以使用@FXML注解来标记FXML文件的各个UI控件,从而在代码引用它们。 5. 在Controller类,可以定义各种方法来处理界面的事件,例如,当点击按钮时执行一些操作。可以使用@FXML注解来将这些方法与FXML文件的相应控件的事件关联起来。 6. 数据新建页面通常包含一个表单,用户可以填写各种字段。可以在Controller类定义相应的属性,然后将其与FXML文件的文本框等控件绑定起来,以便实现双向绑定。 7. 当用户点击保存按钮时,可以调用相应的方法来处理保存操作,例如将数据保存到数据库或文件。 通过以上步骤,我们可以创建一个简单的JavaFX数据新建页面。使用JavaFX的优势在于它提供了强大的UI控件和布局容器,可以轻松实现各种界面效果,并且与Java的其他部分(例如数据处理逻辑)很好地结合在一起。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值