Example usage for javafx.stage Stage setOnCloseRequest

List of usage examples for javafx.stage Stage setOnCloseRequest

Introduction

In this page you can find the example usage for javafx.stage Stage setOnCloseRequest.

Prototype

public final void setOnCloseRequest(EventHandler<WindowEvent> value) 

Source Link

Usage

From source file:org.nmrfx.processor.gui.MainApp.java

public static void registerStage(Stage stage, FXMLController controller) {
    if (!stages.contains(stage)) {
        stages.add(stage);/*from w ww.j  a  va 2 s. c o  m*/
    }
    stage.setOnCloseRequest(e -> {
        controller.close();
        removeStage(stage);
    });

}

From source file:jlotoprint.MainViewController.java

@FXML
public void handleOpenTemplateDesigner(ActionEvent event) {

    try {// ww w .j  ava2 s .com
        FXMLLoader dialog = new FXMLLoader(MainViewController.class.getResource("TemplateDesigner.fxml"));
        Parent root = (Parent) dialog.load();
        final Stage stage = new Stage();
        stage.setOnCloseRequest((WindowEvent windowEvent) -> {
            boolean shouldClose = ((TemplateDesignerController) dialog.getController()).showSaveChangesDialog();
            //cancel event
            if (!shouldClose) {
                windowEvent.consume();
            }
        });
        root.addEventHandler(TemplateDesignerEvent.CLOSE, actionEvent -> {
            stage.close();
        });
        stage.setScene(new Scene(root));
        stage.getIcons().add(new Image("file:resources/icon.png"));
        stage.setTitle("Template Designer");
        stage.initModality(Modality.APPLICATION_MODAL);
        stage.initOwner(JLotoPrint.stage.getScene().getWindow());
        stage.show();
    } catch (IOException ex) {
        Logger.getLogger(MainViewController.class.getName()).log(Level.SEVERE, null, ex);
    }
}

From source file:Main.java

@Override
public void start(Stage stage) {
    Text text = new Text("!");
    text.setFont(new Font(40));
    VBox box = new VBox();
    box.getChildren().add(text);/*from w  w w.  jav  a 2  s  .  c o  m*/
    final Scene scene = new Scene(box, 300, 250);
    scene.setFill(null);
    stage.setScene(scene);
    stage.show();
    stage.setOnCloseRequest(new EventHandler<WindowEvent>() {
        public void handle(WindowEvent we) {
            System.out.println("Stage is closing");
        }
    });
    stage.close();

}

From source file:gmailclientfx.controllers.LoginController.java

public void btnLogin_click(ActionEvent e) {
    if (!txtEmail.getText().equals("")) {
        String email = txtEmail.getText();
        if (EmailValidator.getInstance().isValid(email)) {
            User user = User.getUserByEmail(email);

            if (!(user == null)) {
                try {

                    GmailClient.setRefreshToken(user.getRefreshToken());
                    GmailClient.refreshAccessToken();

                    Parent loginStage = txtEmail.getParent();
                    loginStage.getScene().getWindow().hide();
                    Parent root;/*from   ww  w.ja v a  2s. co m*/
                    root = FXMLLoader
                            .load(getClass().getClassLoader().getResource("gmailclientfx/views/Home.fxml"));
                    Stage stage = new Stage();
                    stage.setTitle("Home");
                    stage.setOnCloseRequest(new EventHandler<WindowEvent>() {
                        @Override
                        public void handle(WindowEvent e) {
                            Platform.exit();
                            System.exit(0);

                        }
                    });
                    stage.setScene(new Scene(root));
                    stage.show();
                } catch (IOException ex) {
                    Logger.getLogger(LoginController.class.getName()).log(Level.SEVERE, null, ex);
                }

            } else {
                try {
                    GmailClient.authorizeUser();
                    String noviEmail = GmailClient.getEmail();
                    String noviRefreshToken = GmailClient.getRefreshToken();
                    User u = User.getUserByEmail(noviEmail);

                    if (u == null) {
                        User.unesiUseraUBazu(new User(noviEmail, noviRefreshToken));
                    }

                    Parent loginStage = txtEmail.getParent();
                    loginStage.getScene().getWindow().hide();
                    Parent root;
                    root = FXMLLoader
                            .load(getClass().getClassLoader().getResource("gmailclientfx/views/Home.fxml"));
                    Stage stage = new Stage();
                    stage.setTitle("Home");
                    stage.setScene(new Scene(root));
                    stage.setOnCloseRequest(new EventHandler<WindowEvent>() {
                        @Override
                        public void handle(WindowEvent e) {
                            Platform.exit();
                            System.exit(0);

                        }
                    });
                    stage.show();

                } catch (IOException ex) {
                    Logger.getLogger(LoginController.class.getName()).log(Level.SEVERE, null, ex);
                }
            }
        } else {
            lblStatusMsg.setText("Uneseni email nije validan!");
        }
    } else {
        lblStatusMsg.setText("Unesite email!");
    }
}

From source file:gmailclientfx.controllers.SpamController.java

public void fetchSpam() {
    ObservableList<MyMessage> data = FXCollections.observableArrayList();
    stupacId.setCellValueFactory(new PropertyValueFactory<MyMessage, Integer>("TblId"));
    stupacNaslov.setCellValueFactory(new PropertyValueFactory<MyMessage, String>("Subject"));
    stupacFrom.setCellValueFactory(new PropertyValueFactory<MyMessage, String>("Sender"));
    stupacDatum.setCellValueFactory(new PropertyValueFactory<MyMessage, String>("DateReceived"));

    spamTable.setItems(data);// w w  w.  j  a  v  a  2s  .c o m
    spamTable.setOnMousePressed(new EventHandler<MouseEvent>() {
        @Override
        public void handle(MouseEvent event) {
            if (event.isPrimaryButtonDown() && event.getClickCount() == 2) {
                MyMessage selectedMsg = spamTable.getSelectionModel().getSelectedItem();
                PregledEmailaHelper.setMsg(selectedMsg);
                try {
                    Parent root;
                    FXMLLoader loader = new FXMLLoader();
                    loader.setLocation(
                            getClass().getClassLoader().getResource("gmailclientfx/views/pregledEmaila.fxml"));
                    root = loader.load();
                    Stage stage = new Stage();
                    stage.setScene(new Scene(root));
                    PregledEmailaController pgec = loader.getController();
                    stage.setOnCloseRequest(new EventHandler<WindowEvent>() {
                        @Override
                        public void handle(WindowEvent event) {
                            pgec.bodyWebViewEngine.load(null);
                            System.out.println("Closing form!");
                        }

                    });
                    stage.setTitle(PregledEmailaHelper.getMsg().getSubject() + " - "
                            + PregledEmailaHelper.getMsg().getSender());
                    stage.show();
                } catch (IOException ex) {
                    Logger.getLogger(InboxController.class.getName()).log(Level.SEVERE, null, ex);
                }
            }
        }

    });
    try {
        IMAPStore store = OAuth2Authenticator.connectToImap("imap.gmail.com", 993, GmailClient.getEmail(),
                GmailClient.getAccesToken(), true);
        Folder spam = null;
        Folder[] folders = store.getDefaultFolder().list("*");
        for (Folder f : folders) {
            IMAPFolder imapFolder = (IMAPFolder) f;
            for (String att : imapFolder.getAttributes()) {
                if ("\\Junk".equals(att)) {
                    spam = f;
                }
            }
        }
        spam.open(Folder.READ_WRITE);

        MimeMessage[] seenMessages = (MimeMessage[]) spam
                .search(new FlagTerm(new Flags(Flags.Flag.SEEN), true));
        for (int i = 0; i < seenMessages.length; i++) {
            MyMessage msg = GmailClient.fetchMessage(seenMessages[i], i + 1, "SPAM");
            data.add(msg);
        }
        MimeMessage[] unseenMessages = (MimeMessage[]) spam
                .search(new FlagTerm(new Flags(Flags.Flag.SEEN), false));
        for (int i = 0; i < unseenMessages.length; i++) {
            MyMessage msg = GmailClient.fetchMessage(unseenMessages[i], i + 1, "SPAM");
            data.add(msg);
        }
        spam.close(false);
        store.close();
    } catch (Exception ex) {
        Logger.getLogger(SpamController.class.getName()).log(Level.SEVERE, null, ex);
    }
}

From source file:gmailclientfx.controllers.ObrisaneController.java

public void fetchObrisane() {
    ObservableList<MyMessage> data = FXCollections.observableArrayList();
    stupacId.setCellValueFactory(new PropertyValueFactory<MyMessage, Integer>("TblId"));
    stupacNaslov.setCellValueFactory(new PropertyValueFactory<MyMessage, String>("Subject"));
    stupacFrom.setCellValueFactory(new PropertyValueFactory<MyMessage, String>("Sender"));
    stupacDatum.setCellValueFactory(new PropertyValueFactory<MyMessage, String>("DateReceived"));

    obrisaneTable.setItems(data);//from   w  w  w  .  j  ava 2  s .c  o  m
    obrisaneTable.setOnMousePressed(new EventHandler<MouseEvent>() {
        @Override
        public void handle(MouseEvent event) {
            if (event.isPrimaryButtonDown() && event.getClickCount() == 2) {
                MyMessage selectedMsg = obrisaneTable.getSelectionModel().getSelectedItem();
                PregledEmailaHelper.setMsg(selectedMsg);
                try {
                    Parent root;
                    FXMLLoader loader = new FXMLLoader();
                    loader.setLocation(
                            getClass().getClassLoader().getResource("gmailclientfx/views/pregledEmaila.fxml"));
                    root = loader.load();
                    Stage stage = new Stage();
                    stage.setScene(new Scene(root));
                    stage.show();
                    PregledEmailaController pgec = loader.getController();
                    stage.setOnCloseRequest(new EventHandler<WindowEvent>() {
                        @Override
                        public void handle(WindowEvent event) {
                            pgec.bodyWebViewEngine.load(null);
                            System.out.println("Closing form!");
                        }

                    });
                    stage.setTitle(PregledEmailaHelper.getMsg().getSubject() + " - "
                            + PregledEmailaHelper.getMsg().getSender());
                } catch (IOException ex) {
                    Logger.getLogger(InboxController.class.getName()).log(Level.SEVERE, null, ex);
                }
            }
        }

    });
    try {
        IMAPStore store = OAuth2Authenticator.connectToImap("imap.gmail.com", 993, GmailClient.getEmail(),
                GmailClient.getAccesToken(), true);

        Folder obrisane = null;
        Folder[] folders = store.getDefaultFolder().list("*");
        for (Folder f : folders) {
            IMAPFolder imapFolder = (IMAPFolder) f;
            for (String att : imapFolder.getAttributes()) {
                if ("\\Trash".equals(att)) {
                    obrisane = f;
                }
            }
        }
        obrisane.open(Folder.READ_WRITE);

        MimeMessage[] seenMessages = (MimeMessage[]) obrisane
                .search(new FlagTerm(new Flags(Flags.Flag.SEEN), true));
        for (int i = 0; i < seenMessages.length; i++) {
            MyMessage msg = GmailClient.fetchMessage(seenMessages[i], i + 1, "DELETED");
            data.add(msg);
        }

        MimeMessage[] unseenMessages = (MimeMessage[]) obrisane
                .search(new FlagTerm(new Flags(Flags.Flag.SEEN), false));
        for (int i = 0; i < unseenMessages.length; i++) {
            MyMessage msg = GmailClient.fetchMessage(unseenMessages[i], i + 1, "DELETED");
            data.add(msg);
        }
        obrisane.close(false);
        store.close();
    } catch (Exception ex) {
        Logger.getLogger(ObrisaneController.class.getName()).log(Level.SEVERE, null, ex);
    }
}

From source file:ninja.javafx.smartcsv.fx.SmartCSV.java

private void showUI(Stage primaryStage, String name, String version) {
    SmartCSVController smartCVSController = appContext.getBean(SmartCSVController.class);
    Scene scene = new Scene((Parent) smartCVSController.getView());

    primaryStage.setScene(scene);// w ww  .  j  a va2  s.c  o m
    primaryStage.setTitle(String.format("%s %s", name, version));
    primaryStage.show();
    primaryStage.setMaximized(true);

    primaryStage.setOnCloseRequest(event -> {
        if (!smartCVSController.canExit()) {
            event.consume();
        } else {
            exit();
        }
    });
}

From source file:net.sourceforge.pmd.util.fxdesigner.XPathPanelController.java

public void showExportXPathToRuleWizard() throws IOException {
    ExportXPathWizardController wizard = new ExportXPathWizardController(xpathExpressionProperty());

    FXMLLoader loader = new FXMLLoader(getClass().getResource("fxml/xpath-export-wizard.fxml"));
    loader.setController(wizard);/*from  www.j  a v  a 2 s .c o  m*/

    final Stage dialog = new Stage();
    dialog.initOwner(designerRoot.getMainStage());
    dialog.setOnCloseRequest(e -> wizard.shutdown());
    dialog.initModality(Modality.WINDOW_MODAL);

    Parent root = loader.load();
    Scene scene = new Scene(root);
    //stage.setTitle("PMD Rule Designer (v " + PMD.VERSION + ')');
    dialog.setScene(scene);
    dialog.show();
}

From source file:org.beryx.viewreka.fxapp.ProjectLibs.java

public void installLibs(String prjName, File prjDir) {
    InstallLibsTask task = new InstallLibsTask(prjName, prjDir, lstLib);

    Stage progressStage = new Stage();
    progressStage.setOnCloseRequest(ev -> {
        if (Dialogs.confirmYesNo("Cancel",
                "Are you sure you want to cancel the installation of project libraries?", null)) {
            task.cancel();/*from ww  w  .ja v a2  s.  c  om*/
        }
    });
    progressStage.initStyle(StageStyle.UTILITY);
    progressStage.initModality(Modality.APPLICATION_MODAL);
    progressStage.setTitle("Create project " + prjName);

    GridPane grid = new GridPane();
    grid.setHgap(20);
    grid.setVgap(20);
    grid.setPadding(new Insets(24, 10, 0, 24));

    ProgressIndicator progressIndicator = new ProgressIndicator();
    progressIndicator.setPrefSize(64, 64);
    progressIndicator.setMinSize(64, 64);
    progressIndicator.setMaxSize(64, 64);
    //        progressIndicator.progressProperty().bind(task.progressProperty());
    grid.add(progressIndicator, 0, 0);

    Label actionLabel = new Label("Install project libraries...");
    actionLabel.textProperty().bind(task.messageProperty());
    grid.add(actionLabel, 1, 0);

    progressStage.setScene(new Scene(grid, 600, 120));

    task.setOnSucceeded(ev -> closeProgress(progressStage, task));
    task.setOnFailed(ev -> closeProgress(progressStage, task));
    task.setOnCancelled(ev -> closeProgress(progressStage, task));

    progressStage.setOnShown(ev -> Executors.newSingleThreadExecutor().submit(task));
    progressStage.showAndWait();
}

From source file:org.craftercms.social.migration.MigrationTool.java

@Override
public void start(final Stage primaryStage) throws Exception {
    loadProperties();//from w w  w .ja  v a 2  s  . c om
    log.debug("Loading Fxml file");
    FXMLLoader loader = new FXMLLoader(getClass().getResource("/scenes/Main.fxml"));
    log.debug("Fxml file Loaded, Starting scene");
    Scene scene = new Scene((VBox) loader.load());
    final MainController controller = loader.getController();
    controller.setScene(scene);
    primaryStage.setScene(scene);
    primaryStage.setOnCloseRequest(new EventHandler<WindowEvent>() {
        @Override
        public void handle(final WindowEvent windowEvent) {
            controller.stopTasks();
        }
    });
    primaryStage.setTitle("Crafter Social/Profile Migration Tool (2.3->2.5)");
    log.debug("Showing UI. {}", new Date());
    primaryStage.show();

}