Tworzenie drugiego okienka/sceny.

Tworzenie drugiego okienka/sceny.
GC
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 249
0

Witam,
Mam okno logowania, teraz próbuje stworzyć drugie okno programu, ale dostaję:
java.lang.IllegalStateException: Location is not set. Ustawiam lokalizację pliku xml, ale jak próbuję wypisać z FXMLLoader dostaję null.

Kod klasy:

Kopiuj
package com.my.app.others;

import javafx.fxml.FXMLLoader;
import javafx.scene.Parent;
import javafx.scene.Scene;
import javafx.stage.Stage;

public class ViewChanger {

	public void changeView(String pathToView, String title) {
		try {
			

			FXMLLoader fxmlLoader = new FXMLLoader(getClass().getResource(
					pathToView));
			Parent root1 = (Parent) fxmlLoader.load();
			Stage stage = new Stage();
			stage.setScene(new Scene(root1));
			stage.show();
		} catch (Exception ex) {
			System.out.println(ex.toString());
		}
	}
}

 
Kopiuj
	public void configureButtons() {
		btnLogin.setOnAction(new EventHandler<ActionEvent>() {
			@Override
			public void handle(ActionEvent event) {
				System.out.println("Test Login kontroler");
				//dodamy pracawnika Zenon Nowak dla testu
				Employee employee = new Employee("Zenon", "Nowak", 4440.44,new BigDecimal("2011.11"));
				//Db db = new Db();
				//db.saveEmployee(employee);
				ViewChanger viewChanger = new ViewChanger();
				viewChanger.changeView("com.my.app.views.MainView.fxml", "TaskManager");
			}
		});
	} 

Struktura:
<image>test.png</image>

SU
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 23
1

Może spróbuj zmienić

Kopiuj
viewChanger.changeView("com.my.app.views.MainView.fxml", "TaskManager"); 

na :

Kopiuj
viewChanger.changeView("/com/my/app/views/MainView.fxml", "TaskManager"); 

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.