List of usage examples for javafx.stage WindowEvent consume
public void consume()
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(); } }); }