-1
프로젝트가 maven, javafx 및 fxml입니다. 하나의 기본 BorderPane, welcome.fxml
및 창, ready.fxml
이 있습니다.JavaFX 다른 창과 동일한 텍스트 영역
내 시작 방법은;
@Override
public void start(Stage primaryStage) throws Exception {
try {
Pane root = (Pane) FXMLLoader.load(getClass().getResource("welcome.fxml"));
Scene scene = new Scene(root, 640, 480);
primaryStage.setScene(scene);
primaryStage.show();
} catch (Exception e) {
makeAlert(e, false);
}
}
지금, 나는 나의 welcome.fxml
에 버튼이 있고, 나는 ready.fxml
내 BorderPane의 중심을 변경하고 싶습니다. 여기 내 버튼 핸들러입니다.
@FXML
private void buttonHandler() throws IOException, InterruptedException {
stage = (Stage) myButton.getScene().getWindow();
Pane sub = (Pane) FXMLLoader.load(getClass().getResource("../ready.fxml"));
BorderPane root = (BorderPane) FXMLLoader.load(getClass().getResource("../welcome.fxml"));
root.setCenter(sub);
//Scene scene = new Scene(root, 640, 480);
//stage.getScene().setRoot(root);
}
UPDATE : 여기 @James_D 눈치로, 내 컨트롤러에 다시 welcome.fxml
로드 그래서, 내 모든 장면의 변경 사항은 센터의 insted, 내 실수입니다.
올바른 방법은 다음과 같습니다.
EDITED : 자바 코드가 추가되었습니다.
가 왜이 장면의 전체 루트를 교체하는 컨트롤러의
그리고 당신은 국경의 중심을 바꾸려면 창유리? 그것이 그대로, 당신의 질문은 정말로 대답에 도움이되지 않습니다 ... 당신이 [MCVE]를 만들고 그것을 포함시키기 위해 당신의 질문을 편집하는 것이 좋습니다. 당신이받는 행동이 당신이 원하는 행동과 어떻게 다른지 설명하십시오. –
이걸 실행 한 후,'root.setCenter (newPane);'센터가 변경되지 않아서 rootScene을 대체합니다. 방금 JavaFX를 배우기 시작했습니다. 제 알지 못해 죄송합니다. –
그러면 우리에게 보여주지 않은 코드에서 뭔가 잘못하고있는 것입니다. 실망스러운 JavaFX에 대해 잘 모르는 것은 아닙니다. 사용자가 대답해야 할 정보가 없어도 질문을 게시 한 것입니다. –