Komunikacja między kontrolerami JavaFX

0

Cześć!

Mam kilka kontrolerów JavaFX. Jeden z nich odpowiada za tworzenie nowej gry. Drugi powinien reagować na eventy wysyłane przez grę. Żeby połączyć JavaFX z logiką stworzyłem singleton, który trzyma główną klasę gry. Problem pojawia się gdy tworząc nową grę próbuję zarejestrować drugi kontroler jako listener.

Robię coś w tym stylu:

FXMLLoader gameLoader = new FXMLLoader(getClass().getResource("/view/game.fxml"));
gameLoader.load();
c.addListener(((GameListener)gameLoader.getController()));

Kontroler reaguje na eventy, ale nie rysuje nic. Mam wrażenie, że przy użyciu gameLoader.load ładowana jest nowa instancja klasy, a nie ta wykorzystywana w interjesie. Jak mogę to rozwiązać?

Pozdrawiam!

0

Dodam jeszcze, że jest to dosyć mała aplikacja, dlatego nie chciałbym wstrzykiwać zależności.
Miałem pomysł, żeby przy inicjalizacji kontrolera zapisać go w singletonie i potem nie używać bezpośredniej referencji zmiast FXMLLoadera, jednak wydaje mi się to mało eleganckie.

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