2013-12-09 6 views

답변

2

다른 방법으로 장면을 반환하거나 "시작"내에서 장면을 만들고 스테이지에서 장면을 설정해야합니다. 당신의 시작 방법에 대한 다음

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(...); 
} 
+0

감사합니다 :) 이미 매우 유용합니다. 하지만 처음 장면으로 어떻게 다시 변경합니까? :"primaryStage.setScene (secondScene);"을 사용할 수 없기 때문에 알 수없는 변수이므로 – Kaito

+0

편집을 확인하십시오. 편집 됨. – Stevantti

+0

굉장 :) 대단히 감사합니다 : D – Kaito