Komunikacja między dwoma kontrolerami

0

Witam,
Mam kontrolery:
ManagmentUsersController.java
UserController.java

Pliki widoków:
ManagmentUsersView
UserAddEditView
<image></image>

Teraz chce w UserController mieć dostęp do elementów z ManagmentUsersController, a dokładnie do tableViewUser.
To w UserController dodałem:

@FXML
private ManagmentUsersController managmentUserController;
 

A w pliku widoku UserAddEditView dodałem:

<BorderPane maxHeight="-Infinity" maxWidth="-Infinity"
minHeight="-Infinity" minWidth="-Infinity" prefHeight="302.0"
prefWidth="299.0" xmlns="http://javafx.com/javafx/8" xmlns:fx="http://javafx.com/fxml/1"
fx:controller="com.my.app.controllers.UserController">
<children>
<fx:include fx:id="managmentUser" source="/com/my/app/views/ManagmentUsersView.fxml" />

Jak to zrobię w ten sposób to psuje mi się widok UserAddEditView, tzn elementy nakładają się i tableView dalej się nie odświeża, a wcześniej było wszystko ok. Po prostu po dodaniu nowego użytkownika chce automatycznie odświeżyć widok(TableView), bo na razie mam od tego buttona w managmenUserController.
</children>

Kod tutaj: http://pastebin.com/yyySM9B4

1

Ja bym to inaczej rozwiązał. Uważam że nie potrzebna jest bezpośrednia komunikacja pomiędzy kontrolerami. To co chcesz uzyskać można rozwiązać poprzez wspólną listę dla tych dwóch kontrolerów. Stwórz klasę która będzie zawierała listę

ObservableList<User> 

i będzie ona modyfikowana z UserController, ta sama lista musi zostać ustawiona w tebelce. Dzięki temu jak będzie modyfikowana lista z UserController, to powinno się automatycznie odświeżać w tabeli.

1 użytkowników online, w tym zalogowanych: 0, gości: 1