我有两个FXML界面,一个是登录,另一个是查询,用textfield显示出要查询的数据,
通过jdbc连接数据库,登录进去后,查询界面有个button按钮,点击按钮通过登录的参数从数据库查出完整数据后,怎么在textfield上显示出来
两个界面如上,有人有类似的程序代码么,能不能发来学习学习
javafx FXML参数传递问题
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
1条回答 默认 最新
- ღ᭄陽先生꧔ꦿ᭄ 2024-02-16 09:26关注
定义FXML文件: 首先,您需要为登录界面和查询界面创建两个FXML文件。例如,登录界面的FXML文件名为Login.fxml,查询界面的FXML文件名为Query.fxml。
创建控制器类: 然后,为每个FXML文件创建一个对应的控制器类。例如,LoginController.java和QueryController.java。
参数传递: 在登录界面中,您可以通过某种方式(例如,在按钮点击事件中)将需要传递的参数存放在一个对象或者简单的数据结构中。然后,将这个对象传递到查询界面的控制器中。
在查询界面中使用参数: 在查询界面的控制器中,您需要接收这些参数,并使用它们来执行数据库查询。查询完成后,将结果显示在文本字段(TextField)或其他控件中。LoginController.java
public class LoginController { // 假设这个对象包含了需要传递的所有信息 private MyData dataToPass; public void setDataToPass(MyData data) { this.dataToPass = data; } public MyData getDataToPass() { return dataToPass; } }
MyData.java
public class MyData { private String userId; private String password; // 构造器、getter和setter省略 }
QueryController.java
public class QueryController { @FXML private TextField textField; public void queryButtonClicked() { // 从LoginController获取传递的数据 LoginController loginController = getLoginController(); MyData data = loginController.getDataToPass(); // 使用数据执行数据库查询 String queryResult = performDatabaseQuery(data); // 将查询结果显示在textField上 textField.setText(queryResult); } private LoginController getLoginController() { // 获取LoginController的实例,这取决于您的应用程序架构 // 例如,您可以使用注入或者通过某些服务来获取 return null; } private String performDatabaseQuery(MyData data) { // 执行数据库查询并返回结果 return "查询结果"; } }
您需要在登录界面的控制器中设置要传递的数据,并在查询界面的控制器中接收和使用这些数据。
解决 无用评论 打赏 举报
悬赏问题
- ¥20 usb设备兼容性问题
- ¥15 错误(10048): “调用exui内部功能”库命令的参数“参数4”不能接受空数据。怎么解决啊
- ¥15 安装svn网络有问题怎么办
- ¥15 Python爬取指定微博话题下的内容,保存为txt
- ¥15 vue2登录调用后端接口如何实现
- ¥65 永磁型步进电机PID算法
- ¥15 sqlite 附加(attach database)加密数据库时,返回26是什么原因呢?
- ¥88 找成都本地经验丰富懂小程序开发的技术大咖
- ¥15 如何处理复杂数据表格的除法运算
- ¥15 如何用stc8h1k08的片子做485数据透传的功能?(关键词-串口)