Witam. Mam oto taki mały problem. Potrzebuję w klasie kontrolera zbindować pewne pola tekstowe z danymi obiektu. Wygląda to tak.
Pobieram formatkę:
public void loadChangeNameAndLastName(Person person) {
FXMLLoader loader = LoadFXML.loadFXML(getClass(), FXML_CHANGE_NAME_AND_LAST_NAME);
Node node = null;
try {
node = loader.load();
} catch(IOException e) {
e.printStackTrace();
}
serviceWindowController.setCenter((Pane)node);
}
kontrolerem dla tej formatki jest ChangeNameAndLastNameController, więc tworzę w klasie obiekt Person. W tej sytuacji musiałbym w jakiś sposób użyć konstruktora, ale nie da rady ot tak stworzyć obiektu, bo kontroler połączony jest z tą formatką FXML.
Można próbować tak:
ChangeNameAndLastNameController changeNameAndLastNameController = loader.getController();
changeNameAndLastNameController.setPerson(person);
ale wtedy w metodzie '@Override public void initialize()' nie można zbindować tego obiektu z polem tekstowym, bo ta metoda wywoływana jest podczas jeszcze samego tworzenia obiektu, a ja ten obiekt 'person' przesyłam po utworzeniu obiektu. Chcę po prostu przesłać jakoś do kontrolera obiekt i jego pole zbindować w metodzie 'initialize()' z polem tekstowym formatki.