logincontrollerがユーザを検証してからmaincontrollerがコントロールを保持しているときに、私はこのメソッドを試しましたが動作していない、userName変数がnull値を返します。他のコントローラから文字列変数の値を取得するjavafx
logincontrollerクラス:
public class loginController implements Initializable{
private String user;
public String getUser() {
return user;
}
if((user.equals(loginUsername.getText()) && (pwd.equals(loginPassword.getText())))){
switch(role){
case "Admin": Stage adminStage=new Stage();
FXMLLoader adminLoader = new FXMLLoader(getClass().getResource("/FXML/Admin/Admin.fxml"));
Parent adminRoot = adminLoader.load();
AdminController adminController = (AdminController)adminLoader.getController();
adminController.setLoginController(this);
}
メインコントローラクラス:
public class AdminController implements Initializable {
@FXML
private Label userName;
public void setLoginController(LoginController loginController) {
this.loginController = loginController;
}
public void initialize(URL url, ResourceBundle rb) {
loginController =new LoginController();
try {
db = new DBConnector();
// String user = loginController.getUser();
System.out.println(user);
String query = "SELECT u_full_name,img FROM Users WHERE u_username='"+user+"'";
db.setResultSet(query);
while(db.getResultset().next()){
userName.setText(db.getResultset().getString(1));
imageUpload.setImage(new Image("file:"+db.getResultset().getString(2)));
}
} catch (SQLException e) {
JOptionPane.showMessageDialog(null, "can't retreive photo",e.toString(),0);
}
}
あなたは 'setLoginController'をどこでもurコードで使用しますか? – nafas
'user'フィールドはどこで設定しますか? –
はい、logincontrollerのクラスを見てくださいすでに –