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:gmailclientfx.controllers.PoslaneController.java

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

    poslaneTable.setItems(data);/*from  w w w . jav  a  2 s . c o  m*/
    poslaneTable.setOnMousePressed(new EventHandler<MouseEvent>() {
        @Override
        public void handle(MouseEvent event) {
            if (event.isPrimaryButtonDown() && event.getClickCount() == 2) {
                MyMessage selectedMsg = poslaneTable.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.setTitle(PregledEmailaHelper.getMsg().getSubject() + " - "
                            + PregledEmailaHelper.getMsg().getSender());
                    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!");
                        }

                    });
                } 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 poslane = null;
        Folder[] folders = store.getDefaultFolder().list("*");
        for (Folder f : folders) {
            IMAPFolder imapFolder = (IMAPFolder) f;
            for (String att : imapFolder.getAttributes()) {
                if ("\\Sent".equals(att)) {
                    poslane = f;
                }
            }
        }
        poslane.open(Folder.READ_WRITE);

        MimeMessage[] seenMessages = (MimeMessage[]) poslane
                .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, "SENT");
            data.add(msg);
        }

        MimeMessage[] unseenMessages = (MimeMessage[]) poslane
                .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, "SENT");
            data.add(msg);
        }
        poslane.close(false);
        store.close();
    } catch (Exception ex) {
        Logger.getLogger(PoslaneController.class.getName()).log(Level.SEVERE, null, ex);
    }
}

From source file:dtv.DTVEdit.java

@Override
public void start(Stage primaryStage) throws Exception {

    notifyPreloader(new Preloader.StateChangeNotification(Preloader.StateChangeNotification.Type.BEFORE_START));

    primaryStage.setTitle("DTV Edit");
    primaryStage.getIcons().add(new Image(getClass().getResourceAsStream("/app_icon.png")));

    AnchorPane mainView = (AnchorPane) load("/dtv/view/FXMLMain.fxml");

    // Show the scene containing the root layout.
    Scene scene = new Scene(mainView);
    primaryStage.setScene(scene);//from   w w  w.  j a  v a 2 s  . co  m
    primaryStage.setResizable(false);
    primaryStage.setOnCloseRequest(e -> Platform.exit());
    // set scss style
    /*
    String css = getClass().getResource("/myStyle.css").toExternalForm();
    scene.getStylesheets().clear();
    scene.getStylesheets().add(css);
    */
    primaryStage.show();
}

From source file:gmailclientfx.controllers.NedovrseneController.java

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

    nedovrseneTable.setItems(data);//from w ww  .  j  a v a 2s .  co m
    nedovrseneTable.setOnMousePressed(new EventHandler<MouseEvent>() {
        @Override
        public void handle(MouseEvent event) {
            if (event.isPrimaryButtonDown() && event.getClickCount() == 2) {
                MyMessage selectedMsg = nedovrseneTable.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.setTitle(PregledEmailaHelper.getMsg().getSubject() + " - "
                            + PregledEmailaHelper.getMsg().getSender());
                    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!");
                        }

                    });
                } 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 nedovrsene = null;
        Folder[] folders = store.getDefaultFolder().list("*");
        for (Folder f : folders) {
            IMAPFolder imapFolder = (IMAPFolder) f;
            for (String att : imapFolder.getAttributes()) {
                if ("\\Drafts".equals(att)) {
                    nedovrsene = f;
                }
            }
        }
        nedovrsene.open(Folder.READ_WRITE);

        MimeMessage[] seenMessages = (MimeMessage[]) nedovrsene
                .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, "DRAFT");
            data.add(msg);
        }

        MimeMessage[] unseenMessages = (MimeMessage[]) nedovrsene
                .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, "DRAFT");
            data.add(msg);
        }
        nedovrsene.close(false);
        store.close();
    } catch (Exception ex) {
        Logger.getLogger(NedovrseneController.class.getName()).log(Level.SEVERE, null, ex);
    }
}

From source file:gmailclientfx.controllers.InboxController.java

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

    Platform.runLater(() -> {/*from ww  w .  ja  va  2 s.c o  m*/
        inboxTable.setItems(data);
    });
    inboxTable.setOnMousePressed(new EventHandler<MouseEvent>() {
        @Override
        public void handle(MouseEvent event) {
            if (event.isPrimaryButtonDown() && event.getClickCount() == 2) {
                MyMessage selectedMsg = inboxTable.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.setTitle(PregledEmailaHelper.getMsg().getSubject() + " - "
                            + PregledEmailaHelper.getMsg().getSender());
                    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!");
                        }

                    });
                } 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 inbox = store.getFolder("INBOX");
        inbox.open(Folder.READ_WRITE);
        int getSeenCount = inbox.getMessageCount();
        FetchProfile fp = new FetchProfile();
        fp.add(FetchProfile.Item.ENVELOPE);
        fp.add(FetchProfileItem.FLAGS);
        fp.add(FetchProfileItem.CONTENT_INFO);
        fp.add("X-mailer");

        MimeMessage[] seenMessages = (MimeMessage[]) inbox
                .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, "INBOX");
            data.add(msg);
        }

        MimeMessage[] unseenMessages = (MimeMessage[]) inbox
                .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, "INBOX");
            data.add(msg);
        }

        inbox.close(false);
        store.close();
    } catch (Exception ex) {
        Logger.getLogger(InboxController.class.getName()).log(Level.SEVERE, null, ex);
    }
}

From source file:com.github.drbookings.DrBookingsApplication.java

private void startGUI(final Stage stage) throws IOException {
    final FXMLLoader loader = new FXMLLoader(getClass().getResource("/fxml/MainView.fxml"));
    final Parent root = loader.load();
    final Scene scene = new Scene(root, 900, 800);
    mainController = loader.getController();
    String s = getClass().getPackage().getImplementationVersion();
    if (s == null) {
        s = "dev version";
    }/* ww  w  . j  a v a  2 s. c  om*/
    stage.setTitle("Dr.Bookings " + s);
    stage.setScene(scene);
    stage.setOnCloseRequest(new CloseRequestEventHandler());
    stage.show();
    mainController.readDataFile(SettingsManager.getInstance().getDataFile());

}

From source file:ninja.eivind.hotsreplayuploader.Client.java

private void addToTray(final Stage primaryStage) {
    try {// www  .  j  a  v  a2 s.c  om
        TrayIcon trayIcon = platformService.getTrayIcon(primaryStage);

        // update tooltip when the statusbinder changes status
        statusBinder.message().addListener((observable, oldValue, newValue) -> {
            if (newValue != null && !newValue.isEmpty()) {
                trayIcon.setToolTip("Status: " + newValue);
            }
        });

        final SystemTray systemTray = SystemTray.getSystemTray();
        systemTray.add(trayIcon);

    } catch (PlatformNotSupportedException | AWTException e) {
        LOG.warn("Could not instantiate tray icon. Reverting to default behaviour");
        primaryStage.setOnCloseRequest(event -> Platform.exit());
    }
}

From source file:org.virtualAsylum.spriggan.data.Addon.java

public State doInstall() {
    log("Installing %s (%s)", getDisplayName(), getID());
    State result = State.IDLE;
    State error = State.ERROR;
    setState(State.INSTALLING);//w  ww. j  a  v  a 2s.co  m
    setStateProgress(-1);
    boolean didError = false;
    try {
        //<editor-fold desc="Dependencies">
        Collection<String> dependencyIDs = getDependencies();
        ArrayList<Addon> dependencies = new ArrayList();
        if (dependencyIDs.size() > 0) {
            setState(State.INSTALLING_DEPENDENCIES);
            for (String dependencyIDString : dependencyIDs) {
                Addon dependency = Database.find_ID(dependencyIDString);
                if (dependency == null) {
                    throw new Exception(String.format("Dependency %s was missing for %s(%s)",
                            dependencyIDString, getDisplayName(), getID()));
                }
                if (!dependency.getInstalled()) {
                    dependencies.add(dependency);
                }
            }
            if (dependencies.size() > 0) {
                SimpleObjectProperty<Boolean> popupResult = new SimpleObjectProperty(null);
                runLater(() -> {
                    DependencyPopup popup = new DependencyPopup(this, dependencies, popupResult);
                    Stage stage = popup.popup(StageStyle.UTILITY, Modality.WINDOW_MODAL,
                            MainInterface.current.getWindow(), getDisplayName());
                    stage.setOnCloseRequest(e -> popupResult.set(false));
                    stage.show();
                });

                while (popupResult.get() == null) {
                    sleep(500);
                }
                if (!popupResult.get()) {
                    error = State.IDLE;
                    throw new Exception(String.format("Did not install dependencies for %s (%s)",
                            getDisplayName(), getID()));
                }
                double perDep = 1.0 / dependencies.size();
                setStateProgress(0.0);
                for (Addon dependency : dependencies) {
                    boolean downloaded = Database.getCurrent().getRepository().contains(dependency);
                    State depResult = State.IDLE;
                    if (!downloaded) {
                        depResult = dependency.doDownloadAndInstall();
                    } else if (!dependency.getInstalled()) {
                        depResult = dependency.doInstall();
                    }
                    if (depResult != State.IDLE) {
                        throw new Exception(
                                String.format("Dependency %s (%s) failed to download and/or install",
                                        dependency.getDisplayName(), dependency.getID()));
                    }
                    incrementStateProgress(perDep);
                }
                setState(State.INSTALLING);
            }

        }
        //</editor-fold>

        error = State.ERROR;

        final File repositoryDirectory = getRepositoryDirectory(this);
        final File installDirectory = getInstallDirectory(this);

        ArrayList<File> files = getRepositoryFiles();

        double perFile = 1.0 / files.size();
        setStateProgress(0.0);
        for (File inputFile : files) {
            File outputFile = new File(installDirectory,
                    repositoryDirectory.toPath().relativize(inputFile.toPath()).toString());
            outputFile.getParentFile().mkdirs();
            Files.copy(inputFile.toPath(), outputFile.toPath(), StandardCopyOption.REPLACE_EXISTING);
            incrementStateProgress(perFile);
        }

    } catch (Exception ex) {
        if (error == State.ERROR) {
            handleException(ex);
        }
        result = error;
        didError = true;
    }

    if (!didError) {
        setInstalled(true);
    }
    log("Installing %s (%s): %s", getDisplayName(), getID(), result);
    setStateProgress(0);
    setState(result);
    return result;
}

From source file:application.Main.java

public void createTrayIcon(final Stage stage) {
    // if the operating system
    // supports the system tray
    if (SystemTray.isSupported()) {
        // get the SystemTray instance
        SystemTray tray = SystemTray.getSystemTray();
        // load an image
        java.awt.Image image = null;
        try {/*w  ww. jav  a2 s  .  c  om*/
            //                File file = new File(iconLocation);
            //                image = ImageIO.read(file);
            URL urlIcon = Main.class.getResource(iconLocation);
            image = ImageIO.read(urlIcon);
        } catch (IOException ex) {
            System.out.println(ex);
        }

        stage.setOnCloseRequest(new EventHandler<WindowEvent>() {
            @Override
            public void handle(WindowEvent t) {
                hide(stage);
            }
        });

        // create an action listener to listen for default action executed on the tray icon
        final ActionListener closeListener = new ActionListener() {
            @Override
            public void actionPerformed(java.awt.event.ActionEvent e) {
                Platform.runLater(new Runnable() {
                    @Override
                    public void run() {
                        stage.close();
                        controller.terminate();
                        //                           // fileWatcher.setTerminateWatching(Boolean.TRUE);
                        System.out.println(applicationTitle + " terminated!");
                        Platform.exit();
                        System.exit(0);
                    }
                });
            }
        };

        ActionListener showListener = new ActionListener() {
            @Override
            public void actionPerformed(java.awt.event.ActionEvent e) {
                Platform.runLater(new Runnable() {
                    @Override
                    public void run() {
                        stage.show();
                    }
                });
            }
        };

        // create a pop-up menu
        PopupMenu popupMenu = new PopupMenu();

        MenuItem nameItem = new MenuItem(applicationTitle);
        nameItem.addActionListener(showListener);
        popupMenu.add(nameItem);

        popupMenu.addSeparator();

        MenuItem showItem = new MenuItem("Show");
        showItem.addActionListener(showListener);
        popupMenu.add(showItem);

        MenuItem closeItem = new MenuItem("Close");
        closeItem.addActionListener(closeListener);
        popupMenu.add(closeItem);

        /// ... add other menu items

        // construct a TrayIcon, scaling the image to 16x16 (the default dimensions of a tray icon)
        trayIcon = new TrayIcon(image.getScaledInstance(24, 24, Image.SCALE_DEFAULT), applicationTitle,
                popupMenu);
        // set the TrayIcon properties
        trayIcon.addActionListener(showListener);

        // add the tray image
        try {
            tray.add(trayIcon);
        } catch (AWTException e) {
            System.err.println(e);
        }
    }
}

From source file:gov.va.isaac.sync.view.SyncView.java

/**
 * @see gov.va.isaac.interfaces.gui.views.PopupViewI#showView(javafx.stage.Window)
 *//* ww w.  ja  va  2  s  . co m*/
@Override
public void showView(Window parent) {
    initGui();
    Stage stage = new Stage(StageStyle.DECORATED);
    stage.initModality(Modality.NONE);
    stage.initOwner(parent);
    Scene scene = new Scene(root_);
    stage.setScene(scene);
    stage.setTitle("Datastore Synchronization");
    stage.getScene().getStylesheets().add(SyncView.class.getResource("/isaac-shared-styles.css").toString());
    stage.sizeToScene();
    stage.show();
    stage.setOnCloseRequest(windowEvent -> {
        if (running_.get()) {
            windowEvent.consume();
        }
    });
}

From source file:com.antonjohansson.svncommit.SvnCommitApplication.java

private void configure(Stage stage, String application, File path, Configuration configuration) {
    Module applicationModule = new ApplicationModule();
    Module utilityModule = new UtilityModule();
    Module configurationModule = (binder) -> {
        binder.bind(File.class).toInstance(path);
        binder.bind(Configuration.class).toInstance(configuration);
    };/*  ww w.ja v a2s  .  c om*/

    Injector injector = Guice.createInjector(applicationModule, utilityModule, configurationModule);
    Worker worker = injector.getInstance(Worker.class);
    Controller controller = injector.getInstance(Key.get(Controller.class, named(application)));
    controller.initialize();
    View view = controller.getView();

    stage.setScene(new Scene(view.getParent()));
    stage.setTitle("svn-commit");
    stage.setWidth(1200);
    stage.setHeight(400);
    stage.getIcons().add(new Image("svn.png"));
    stage.setOnCloseRequest(e -> worker.shutdown());
    stage.show();
}