Example usage for javafx.stage WindowEvent consume

List of usage examples for javafx.stage WindowEvent consume

Introduction

In this page you can find the example usage for javafx.stage WindowEvent consume.

Prototype

public void consume() 

Source Link

Document

Marks this Event as consumed.

Usage

From source file:jlotoprint.MainViewController.java

@FXML
public void handleOpenTemplateDesigner(ActionEvent event) {

    try {//from  ww w .  j av  a2s. c o  m
        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:io.uploader.drive.DriveUploader.java

@Override
public void start(final Stage stage) throws Exception {

    Preconditions.checkNotNull(stage);/*from w  ww  . ja v  a2s .co m*/

    try {
        stage.onCloseRequestProperty().set(new EventHandler<WindowEvent>() {
            public void handle(WindowEvent e) {
                logger.info("Close request");

                if (Response.NO == MessageDialogs.showConfirmDialog(stage,
                        "Are you sure you want to close the application?", "Confirmation")) {
                    e.consume();
                    return;
                }
                appEvent.exit();
                Platform.exit();

                // TODO: 
                // Investigate why when we shutdown the authentication service
                // before the end of the process, the app hangs after closing the main window...
                // http://stackoverflow.com/questions/4425350/how-to-terminate-a-thread-blocking-on-socket-io-operation-instantly
                //if (client == null) {
                System.exit(0);
                //}
            }
        });

        final List<Integer> logoSizeList = Arrays.asList(16, 32, 64, 128, 256, 512);
        final String logoNameBase = "DriveUploader";
        final String logoNameExt = ".png";
        for (Integer size : logoSizeList) {
            StringBuilder logoName = new StringBuilder();
            logoName.append(logoNameBase);
            logoName.append(size);
            logoName.append(logoNameExt);
            Image logo = new Image(getClass().getResourceAsStream("/images/" + logoName));
            stage.getIcons().add(logo);
        }

        //final Browser browser = new SimpleBrowser (new Stage (), null) ;
        final Browser browser = new SimpleBrowserImpl(stage, null);
        authorize(browser, new Callback<Credential>() {

            @Override
            public void onSuccess(Credential result) {
                logger.info("Received credential");

                client = new Drive.Builder(httpTransport, JSON_FACTORY, result)
                        .setApplicationName(APPLICATION_NAME).build();

                Configuration.INSTANCE.setCredential(result);

                //browser.close () ;
                try {
                    MainWindow mainWindow = new MainWindow(client, stage, appEvent, Configuration.INSTANCE);
                    mainWindow.show();
                } catch (IOException e) {
                    logger.error("Error occurred while creating the main window", e);
                    Platform.exit();
                }
            }

            @Override
            public void onFailure(Throwable cause) {
                logger.error("Error occurred while authenticating", cause);
                Platform.exit();
            }
        });
    } catch (Exception e) {
        Platform.exit();
        throw e;
    }
}

From source file:editeurpanovisu.EditeurPanovisu.java

/**
 *
 * @param primaryStage/*  www .  j  a v a2s  .c o m*/
 * @throws Exception
 */
@Override
public void start(Stage primaryStage) throws Exception {
    File rep = new File("");
    currentDir = rep.getAbsolutePath();
    repertAppli = rep.getAbsolutePath();
    repertConfig = new File(repertAppli + File.separator + "configPV");
    if (!repertConfig.exists()) {
        repertConfig.mkdirs();
        locale = new Locale("fr", "FR");
        setUserAgentStylesheet("file:css/clair.css");
        repertoireProjet = repertAppli;
    } else {
        lisFichierConfig();
    }
    rb = ResourceBundle.getBundle("editeurpanovisu.i18n.PanoVisu", locale);
    stPrincipal = primaryStage;
    stPrincipal.setResizable(false);
    stPrincipal.setTitle("PanoVisu v" + numVersion);
    //AquaFx.style();
    //        setUserAgentStylesheet(STYLESHEET_MODENA);
    primaryStage.setMaximized(true);
    Dimension tailleEcran = java.awt.Toolkit.getDefaultToolkit().getScreenSize();
    int hauteur = (int) tailleEcran.getHeight() - 20;
    int largeur = (int) tailleEcran.getWidth() - 20;
    largeurMax = tailleEcran.getWidth() - 450.0d;
    creeEnvironnement(primaryStage, largeur, hauteur);

    File repertTempFile = new File(repertAppli + File.separator + "temp");
    repertTemp = repertTempFile.getAbsolutePath();

    if (!repertTempFile.exists()) {
        repertTempFile.mkdirs();
    } else {
        deleteDirectory(repertTemp);
    }
    String extTemp = genereChaineAleatoire(20);
    repertTemp = repertTemp + File.separator + "temp" + extTemp;
    repertTempFile = new File(repertTemp);
    repertTempFile.mkdirs();
    installeEvenements();
    projetsNouveau();
    primaryStage.setOnCloseRequest((WindowEvent event) -> {
        Action reponse = null;
        Localization.setLocale(locale);
        if (!dejaSauve) {
            reponse = Dialogs.create().owner(null).title("Quitter l'diteur")
                    .masthead("ATTENTION ! Vous n'avez pas sauvegard votre projet")
                    .message("Voulez vous le sauver ?")
                    .actions(Dialog.Actions.YES, Dialog.Actions.NO, Dialog.Actions.CANCEL).showWarning();
        }
        if (reponse == Dialog.Actions.YES) {
            try {
                projetSauve();

            } catch (IOException ex) {
                Logger.getLogger(EditeurPanovisu.class.getName()).log(Level.SEVERE, null, ex);
            }
        }
        if ((reponse == Dialog.Actions.YES) || (reponse == Dialog.Actions.NO) || (reponse == null)) {
            try {
                sauveHistoFichiers();
            } catch (IOException ex) {
                Logger.getLogger(EditeurPanovisu.class.getName()).log(Level.SEVERE, null, ex);
            }

            deleteDirectory(repertTemp);
            File ftemp = new File(repertTemp);
            ftemp.delete();
        } else {
            event.consume();
        }
    });
}

From source file:editeurpanovisu.EditeurPanovisu.java

/**
 *
 * @param stPrimaryStage/*from  ww w .  j av a 2s .  com*/
 * @throws Exception Exceptions
 */
@Override

public void start(Stage stPrimaryStage) throws Exception {
    if (isLinux()) {
        stPrimaryStage.setFullScreen(true);
    }
    File fileRep = new File("");
    setbInternet(netIsAvailable());
    setStrCurrentDir(fileRep.getAbsolutePath());
    setStrRepertAppli(fileRep.getAbsolutePath());
    fileRepertConfig = new File(getStrRepertAppli() + File.separator + "configPV");
    rbLocalisation = ResourceBundle.getBundle("editeurpanovisu.i18n.PanoVisu", getLocale());
    Package pack = Package.getPackage("editeurpanovisu");
    strNumVersion = pack.getImplementationVersion() + "-b"
            + rbLocalisation.getString("build.numero").replace(" ", "").replace("", "");
    lisPreferences();
    setStPrincipal(stPrimaryStage);
    stPrimaryStage.setResizable(false);
    getStPrincipal().setResizable(true);
    getStPrincipal().setAlwaysOnTop(false);
    getStPrincipal().setTitle("PanoVisu v" + strNumVersion.split("-")[0]);
    stPrimaryStage.setMaximized(true);
    stPrimaryStage.setAlwaysOnTop(false);
    Rectangle2D tailleEcran = Screen.getPrimary().getBounds();
    int iHauteur;
    if (isMac()) {
        iHauteur = (int) tailleEcran.getHeight() - 60;
    } else {
        iHauteur = (int) tailleEcran.getHeight() - 20;
    }
    int iLargeur = (int) tailleEcran.getWidth() - 2;
    largeurMax = tailleEcran.getWidth() - 450.0d;
    creeEnvironnement(stPrimaryStage, iLargeur, iHauteur);

    File fileRepertTempFile = new File(getStrRepertAppli() + File.separator + "temp");
    setStrRepertTemp(fileRepertTempFile.getAbsolutePath());

    if (!fileRepertTempFile.exists()) {
        fileRepertTempFile.mkdirs();
    } else {
        deleteDirectory(getStrRepertTemp());
    }
    String strExtTemp = strGenereChaineAleatoire(20);
    setStrRepertTemp(getStrRepertTemp() + File.separator + "temp" + strExtTemp);
    fileRepertTempFile = new File(getStrRepertTemp());
    fileRepertTempFile.mkdirs();
    installeEvenements();
    projetsNouveau();
    stPrimaryStage.setOnCloseRequest((WindowEvent event) -> {
        try {
            sauvePreferences();
        } catch (IOException ex) {
            Logger.getLogger(EditeurPanovisu.class.getName()).log(Level.SEVERE, null, ex);
        }
        ButtonType reponse = null;
        ButtonType buttonTypeOui = new ButtonType(rbLocalisation.getString("main.oui"));
        ButtonType buttonTypeNon = new ButtonType(rbLocalisation.getString("main.non"));
        ButtonType buttonTypeAnnule = new ButtonType(rbLocalisation.getString("main.annuler"));
        if (!isbDejaSauve()) {
            Alert alert = new Alert(AlertType.CONFIRMATION);
            alert.setTitle(rbLocalisation.getString("main.dialog.quitterApplication"));
            alert.setHeaderText(null);
            alert.setContentText(rbLocalisation.getString("main.dialog.chargeProjetMessage"));
            alert.getButtonTypes().clear();
            alert.getButtonTypes().setAll(buttonTypeOui, buttonTypeNon, buttonTypeAnnule);
            Optional<ButtonType> actReponse = alert.showAndWait();
            reponse = actReponse.get();
        }
        if (reponse == buttonTypeOui) {
            try {
                projetSauve();

            } catch (IOException ex) {
                Logger.getLogger(EditeurPanovisu.class.getName()).log(Level.SEVERE, null, ex);
            }
        }
        if ((reponse == buttonTypeOui) || (reponse == buttonTypeNon) || (reponse == null)) {
            try {
                sauveHistoFichiers();

            } catch (IOException ex) {
                Logger.getLogger(EditeurPanovisu.class.getName()).log(Level.SEVERE, null, ex);
            }

            deleteDirectory(getStrRepertTemp());
            File fileTemp = new File(getStrRepertTemp());
            fileTemp.delete();
        } else {
            event.consume();
        }
    });
}