Przekazywanie obiektu z klasy do klasy - dostaje nulla.

Odpowiedz Nowy wątek
2019-08-12 06:36
0

Dzień dobry problem leży gdzieś w tym fragmencie kodu:

MainController

private MenuController menuController= new MenuController();

    public MainController(){}

    @FXML
    private void initialize(){
        menuController.setMainController(this);
    }

Menu controller

private MainController mainController;

    public void setMainController(MainController mainController) {
        this.mainController = mainController;
    }

dostaje nulla jako mainController w menuControllerze;


„Standardowa edukacja zapewni Ci przeżycie. Samokształcenie- fortunę." - Jim Rohn

Pozostało 580 znaków

2019-08-12 06:51
0
Xezolpl napisał(a):

MainController


private MenuController menuController= new MenuController();

Po pierwsze, masz cykliczną zależność - MainController potrzebuje MenuController, który potrzebuje MainController, który... :)

Po drugie, nulla dostajesz w pierwszej linijce pierwszego listingu prawdopodobnie, czyli tym fragmencie, który zacytowałem - domyślam się, że nie masz domyślnego, bezargumentowego konstruktora.

Tak czy siak, lepiej wymyśl jak się pozbyć tego cyklu, bo to wskazuje, że gdzieś się mocno poplątałeś I będzie sprawiać problemy.

Jakieś sugestje? Mam załadować fxmla w tym borderPane z mainController, fx:include odpada bo chodzi mi o ładowanie po np. kliknięciu jakiegoś buttona itp. - Xezolpl 2019-08-12 06:58

Pozostało 580 znaków

2019-08-12 07:11
0

Jakieś sugestje? Mam załadować fxmla w tym borderPane z mainController, fx:include odpada bo chodzi mi o ładowanie po np. kliknięciu jakiegoś buttona itp.

Kontynuuj w wątku raczej niż w komentarzach, służą do off-topu i zaraz się pogubimy :)

Po pierwsze, dlaczego w ogóle MenuController wymaga MainControllera?
Wieksza próbka kodu by nie zaszkodziła, żeby zobaczyć cóż to tam robisz.

Po drugie, "load fxml on button click". Trochę odpowiedzi na SO znalazłem. Niestety dokładnie Ci tu nie pomogę w tej chwili bez dodatkowych danych, bo JavyFX nie znam i nie mam reszty Twojego rozwiązania.

Chyba, te inne zastosowanie komentarzy wynika z SO. U nas jest dla offtopu. Na SO tam toczy się dyskusja i pytania a odpowiedzi to jedynie poprawne sugestie do plusowania/minusowania. Ostatnio jak wrzuciłem kod, który rozwiązał mój problem bazujący na 2 innych odpowiedziach i na końcu wpisałem "Thanks!", to mod mi edytował post i wykasował to lol ;p - somedev 2019-08-12 07:29

Pozostało 580 znaków

2019-08-12 07:19
0
Klojtex napisał(a):

Jakieś sugestje? Mam załadować fxmla w tym borderPane z mainController, fx:include odpada bo chodzi mi o ładowanie po np. kliknięciu jakiegoś buttona itp.

Kontynuuj w wątku raczej niż w komentarzach, służą do off-topu i zaraz się pogubimy :)

Po pierwsze, dlaczego w ogóle MenuController wymaga MainControllera?
Wieksza próbka kodu by nie zaszkodziła, żeby zobaczyć cóż to tam robisz.

Po drugie, "load fxml on button click". Trochę odpowiedzi na SO znalazłem. Niestety dokładnie Ci tu nie pomogę w tej chwili bez dodatkowych danych, bo JavyFX nie znam i nie mam reszty Twojego rozwiązania.

Tutaj kod, wyczyściłem już go z niedziałającego kodu
https://github.com/Xezolpl/Lepszy-Ty.git


„Standardowa edukacja zapewni Ci przeżycie. Samokształcenie- fortunę." - Jim Rohn
edytowany 1x, ostatnio: Xezolpl, 2019-08-12 07:19

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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