Başka bir sınıftaki bir sahneyi değiştirmek istiyorum ancak büyük zorluk yaşıyorum.JavaFX'te Sahneleri Değiştirme NullPointerException
Şimdi ikinci ekrana geçmeden sorun yok, ancak ilk ekrana geri dönme bana NullPointerException veriyor.
Yardım çok takdir edilecektir. Şimdiden çok teşekkürler.
Ana Sınıfı
public class Main extends Application {
Stage ps;
Group root = new Group();
Scene s = new Scene(root, 300, 300, Color.AQUA);
Controller con = new Controller();
public void start(Stage primaryStage) throws Exception {
ps = primaryStage;
con.buttonLayout();
buttonLayout();
primaryStage.setTitle("Hello World");
ps.setScene(s);
primaryStage.show();
}
public void buttonLayout() {
Button but = new Button("first");
but.setOnMouseClicked(new EventHandler<MouseEvent>() {
@Override
public void handle(MouseEvent event) {
ps.setScene(con.s);
}
});
root.getChildren().add(but);
}
public static void main(String[] args) {
launch(args);
}
}
Diğer sınıf
public class Controller{
Group root = new Group();
Scene s = new Scene(root, 300, 300, Color.BLACK);
public void buttonLayout() {
Button but = new Button("back to first");
but.setOnMouseClicked(new EventHandler<MouseEvent>() {
@Override
public void handle(MouseEvent event) {
Main main = new Main();
main.ps.setScene(main.s);
}
});
root.getChildren().add(but);
}
}
'sen Üzerinde' setScene' çağırdığınızda size bir boş gösterici istisna olsun böylece main.ps', hiçbir zaman başlatıldı. –