我试图将两个参数从一个控制器传递到另一个。我已经从应用程序的“登录”视图到“主”视图完成了此操作,现在我试图在单击按钮时将参数传递给另一个视图。我可以看到下一个视图而没有任何错误,但是参数没有传递。
这是传递参数的控制器类(仅包括相关代码)
public class MemberMainController {
private String ID;
//button being pressed
@FXML
public void btnEditSet(ActionEvent event) throws IOException {
ObservableList<Set> selectedRows;
selectedRows = tableViewSets.getSelectionModel().getSelectedItems();
FXMLLoader loader = new FXMLLoader(getClass().getResource("../../../com/RIS/view/EditSet.fxml"));
Parent root = (Parent)loader.load();
Scene scene = new Scene(root);
EditSetController controller = loader.getController();
//the two parameters being passed
controller.setID(getID());
controller.setSetListID(selectedRows.get(0).getSetID());
Stage stage = new Stage();
stage.setScene(scene);
stage.setTitle("Edit Set");
stage.show();
//closes the previous window
Stage ostage = (Stage)((Node)event.getSource()).getScene().getWindow();
ostage.close();
}
public void setID(String setID) {
ID = setID;
}
public String getID() {
return ID;
}
}
对于传递参数的get()
中的两个参数,我都有set()
和EditSetController
方法。在FXML中,我将fx:controller
设置为EditSetController.java
。
这不会产生任何错误,但是在加载下一个视图时,ID
中的setListID
和EditSetController
被设置为null
。