다른 방법으로 장면을 반환하거나 "시작"내에서 장면을 만들고 스테이지에서 장면을 설정해야합니다. 당신의 시작 방법에 대한 다음
public static Scene secondScene(final Stage primaryStage){
BorderPane pane = new BorderPane();
Label l = new Label("Second Scene");
pane.setCenter(l);
//let's say I have a button that changes back to original stage
Button b = new Button("Main stage");
b.setOnAction(new EventHandler<ActionEvent>(){
public void handle(ActionEvent t){
// create your own Scene and then set it to primaryStage
primaryStage.setScene(new Scene ...);
}
});
return new Scene(pane, 300, 300);
}
: 예를 들어, 버튼을 누를 때
@Override
public void start(Stage primaryStage){
BorderPane mainPane = new BorderPane();
Button b = new Button("Register");
mainPane.setCenter(b);
b.setOnAction(new EventHandler<ActionEvent>(){
public void handle(ActionEvent t){
primaryStage.setScene(secondScene(primaryStage));
}
});
primaryStage.setScene(new Scene(mainPane, 300,300));
primaryStage.show();
}
이 "SecondScene"로 변경됩니다.
편집 //////////////////////////////////////// 기본적으로 :
다른 Scene을 Scene으로 설정하려면 primaryStage를 SecondScene의 인수로 전달해야합니다. 이 경우 수행 할 수있는 작업은 기본 장면을 출력 한 다음이를 사용하여 설정하는 방법입니다.
public static Scene mainScene(final Stage primaryStage){
.....
return new Scene(...);
}
감사합니다 :) 이미 매우 유용합니다. 하지만 처음 장면으로 어떻게 다시 변경합니까? :"primaryStage.setScene (secondScene);"을 사용할 수 없기 때문에 알 수없는 변수이므로 – Kaito
편집을 확인하십시오. 편집 됨. – Stevantti
굉장 :) 대단히 감사합니다 : D – Kaito