@Override public Stage getStage() { Stage stage = null; Scene scene = getView().getScene(); if (scene != null && scene.getRoot() == getView()) { Window window = scene.getWindow(); if (window instanceof Stage) { stage = (Stage) window; } } return stage; }
@Override public void start(Stage stage) throws Exception { Preconditions.checkNotNull(viewBean, "No view to set up! Have you called init() before?"); Scene scene = viewBean.getView().getScene(); if (scene == null) { Scene x = new Scene(viewBean.getView()); stage.setScene(x); } else { stage.setScene(scene); } stage.show(); }
/** * @param window The FxmlView derived class that should be shown. * @param mode See {@code javafx.stage.Modality}. */ public static void showView(final Class<? extends AbstractFxmlView> window, final Modality mode) { final AbstractFxmlView view = applicationContext.getBean(window); Stage newStage = new Stage(); Scene newScene; if (view.getView().getScene() != null) { // This view was already shown so // we have a scene for it and use this one. newScene = view.getView().getScene(); } else { newScene = new Scene(view.getView()); } newStage.setScene(newScene); newStage.initModality(mode); newStage.initOwner(getStage()); newStage.setTitle(view.getDefaultTitle()); newStage.initStyle(view.getDefaultStyle()); newStage.showAndWait(); }
this.addButton.setOnAction((ActionEvent event) -> { AddRepositoryDialog dialog = new AddRepositoryDialog(); dialog.initOwner(this.getParent().getScene().getWindow());
.withTitle(tr("Restored default repositories")) .withMessage(tr("Please restart such that the changes can take effect.")) .withOwner(getParent().getScene().getWindow()) .withResizable(true) .build();