• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Java odwołanie się do konstruktora/zmiana scen

Object Storage Arubacloud
0 głosów
193 wizyt
pytanie zadane 5 czerwca 2020 w Java przez BezBarwny Użytkownik (700 p.)

hej, pisze menu do gry i próbuje zmienić sceny miedzy sobą gdy nacisne przycisk i w jedną strone dobrze działa ponieważ tworze obiekt i odwołuję sie do metody gdzie mam stworzoną scene w sposób widziany na kodzie jednak gdy robie to samo z przyciskiem na scenie w którą przeszedłem nie udaje mi się ponieważ scena znajduje się w konstruktorze a nie metodzie i program tego nie przepuszcza ma ktoś pomysł jak to zrobić?

tutaj przechodze do nowej sceny

helpButton.setOnAction(new EventHandler<ActionEvent>() {

			@Override
			public void handle(ActionEvent event) {
				HelpViewManager helpManager = new HelpViewManager();
				helpManager.createNewGame(mainStage);
				
			}
			
		});


a to konstruktor z scena do której chce wrócić

public ViewManager() {
		menuButtons = new ArrayList<>();
		mainPane = new AnchorPane();
		mainScene = new Scene(mainPane, WIDTH, HEIGHT);
		
		mainStage = new Stage();
		
		
		mainStage.setScene(mainScene);
		mainStage.setTitle("Space Invaders");
		createButtons();
		createBackground();
	}


próbowałem tak ale wywala błąd 

		 	ReturnButton.setOnAction(new EventHandler<ActionEvent>(){

				@Override
				public void handle(ActionEvent event) {
					ViewManager ViewManager = new ViewManager();
					ViewManager.ViewManager( );
					
				}
				
			}); 

 

1 odpowiedź

0 głosów
odpowiedź 5 czerwca 2020 przez Wiciorny Ekspert (269,670 p.)
ViewManager.ViewManager( );

Hej, to nie jest odwalanie się do konstruktora - to jest wywołanie .. statyczne, a aktualnie twój konstruktor taki nie jest.
Konstruktor tworzy się w momencie tworzenia obiektu jeśli 

Takim brzydkim rozwiązaniem może być samo wywołanie obiektu bez jego zapisywania do zmiennej, jeśli np ma on coś "odświeżyć stan" , jednak do tego nie służy konstruktor i to bym po prostu przeznaczył na metodę statyczna 

 new ViewManager( );  // spowoduje wywołanie bez zapisu 

Troszkę mało kodu, żebym mógł jakby wczytać się w to co masz na myśli bo jest też ten twój kod mało imperatywne 

Podobne pytania

0 głosów
1 odpowiedź 149 wizyt
pytanie zadane 10 kwietnia 2020 w JavaScript przez maslokeeper01 Użytkownik (620 p.)
0 głosów
1 odpowiedź 499 wizyt
pytanie zadane 14 listopada 2021 w C# przez Martita Bywalec (2,470 p.)
0 głosów
1 odpowiedź 92 wizyt
pytanie zadane 4 listopada 2022 w C i C++ przez RufinB Obywatel (1,830 p.)

92,548 zapytań

141,391 odpowiedzi

319,512 komentarzy

61,932 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...