0
버튼을 클릭 할 때 현재 창 (장면) 체인저를 만들려고합니다. 특히, 사용자 로그인시 창을 변경하십시오. 중복 코드를 줄이고 집중 방식으로 창을 변경하는 데 필요한 메소드를 배치하는 방법을 알고 싶습니다. 따라야 할 특정 디자인 패턴이 있습니까?FXML을 사용하는 JavaFX 윈도우 체인저
Main.java
public class Main extends Application {
@Override
public void start(Stage stage) throws Exception {
Parent root = (Parent) FXMLLoader.load(getClass().getResource("Login.fxml"));
Scene scene = new Scene(root);
scene.getStylesheets().add("Styles.css");
stage.setScene(scene);
stage.setTitle("App");
stage.setResizable(false);
stage.show();
}
public static void main(String[] args) {
Application.launch(args);
}
}
LoginController.java
public class LoginController implements Initializable {
@FXML
private TextField email;
@FXML
private PasswordField password;
@FXML
private Button buttonLogin;
private Stage stage;
@Override
public void initialize(URL url, ResourceBundle rb) {}
@FXML
private void login(ActionEvent event) throws Exception {
stage = (Stage) buttonLogin.getScene().getWindow();
Parent root = (Parent) FXMLLoader.load(getClass().getResource("Profile.fxml"));
Scene scene = new Scene(root);
scene.getStylesheets().add("Styles.css");
stage.setScene(scene);
stage.centerOnScreen();
stage.show();
}
}
감사 :
지금까지, 나는이있다!
'public static void loadSceneToStage (String resourceName, Stage stage) throws IOException {...}'??? – fabian