我正在尝试在 Javafx fxml
中构建库存管理系统。
我为用户登录了一个登录窗口。当用户登录时输入其用户名和密码,登录窗口将关闭并显示管理员面板。用户可以在管理面板中查看他们的用户名和其他人。
我成功通过了日期,管理面板可以显示用户名和ID。我可以将数据(id / UserName)从Controller传递到另一个Controller并在标签中显示该值。
它有效(在标签中显示数据)
package controller;
@FXML
private Label lblUserId;
@FXML
private Label lblUsrName;
private userNameMedia usrNameMedia; // java class userNameMedia
public userNameMedia getUsrNameMedia() {
return usrNameMedia;
}
public void setUsrNameMedia(userNameMedia usrNameMedia) {
lblUserId.setText(usrNameMedia.getId());
lblUsrName.setText(usrNameMedia.getUsrName());
this.usrNameMedia = usrNameMedia;
}
但是它给了我null(系统输出为null)
package controller;
@FXML
private Label lblUserId;
@FXML
private Label lblUsrName;
@Override
public void initialize(URL url, ResourceBundle rb) {
System.out.println(lblUsrName.getText());
}
在同一个班级中使用按钮
@FXML
private void btnHomeOnClick(ActionEvent event) {
homeActive();
System.out.println(lblUsrName.getText());
System.out.println(lblUserId.getText());
}
它运作正常。
点击登录btnHomeOnClick
时我需要这个
为什么
System.out.println(lblUsrName.getText());
打印null
我正在尝试使用initialize
,但它会返回null
,我甚至尝试fire()
。
要探索我的完整代码:Click Here