• 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

Aruba Cloud PRO i VPS, Openstack, VMWare, MS Hyper-V
0 głosów
145 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 (251,470 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ź 130 wizyt
pytanie zadane 10 kwietnia 2020 w JavaScript przez maslokeeper01 Użytkownik (620 p.)
0 głosów
1 odpowiedź 139 wizyt
pytanie zadane 14 listopada 2021 w C# przez Martita Bywalec (2,360 p.)
0 głosów
1 odpowiedź 58 wizyt
pytanie zadane 4 listopada 2022 w C i C++ przez RufinB Obywatel (1,730 p.)

90,831 zapytań

139,507 odpowiedzi

313,599 komentarzy

60,325 pasjonatów

Motyw:

Akcja Pajacyk

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

Sklep oferujący ćwiczenia JavaScript, PHP, rozmowy rekrutacyjne dla programistów i inne materiały

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...