List of usage examples for javafx.stage FileChooser showOpenMultipleDialog
public List<File> showOpenMultipleDialog(final Window ownerWindow)
From source file:editeurpanovisu.EditeurPanovisu.java
/** * * @throws InterruptedException//from w w w . j a v a 2s . c o m */ private void panoramiquesAjouter() throws InterruptedException { FileChooser fileChooser = new FileChooser(); FileChooser.ExtensionFilter extFilterImage = new FileChooser.ExtensionFilter( "Fichiers Image (JPG,BMP,TIFF)", "*.jpg", "*.bmp", "*.tif"); FileChooser.ExtensionFilter extFilterJpeg = new FileChooser.ExtensionFilter("Fichiers JPEG (*.jpg)", "*.jpg"); FileChooser.ExtensionFilter extFilterBmp = new FileChooser.ExtensionFilter("Fichiers BMP (*.bmp)", "*.bmp"); FileChooser.ExtensionFilter extFilterTiff = new FileChooser.ExtensionFilter("Fichiers TIFF (*.tif)", "*.tif"); File repert = new File(currentDir + File.separator); fileChooser.setInitialDirectory(repert); // fileChooser.getExtensionFilters().addAll(extFilterImage, extFilterJpeg, extFilterBmp); fileChooser.getExtensionFilters().addAll(extFilterJpeg, extFilterTiff, extFilterBmp, extFilterImage); List<File> list = fileChooser.showOpenMultipleDialog(null); if (list != null) { int i = 0; File[] lstFich1 = new File[list.size()]; String[] typeFich1 = new String[list.size()]; for (File file : list) { String fichierImage = file.getAbsolutePath(); String extension = fichierImage.substring(fichierImage.length() - 3, fichierImage.length()); Image img = null; if (extension.equals("tif")) { try { img = ReadWriteImage.readTiff(fichierImage); } catch (ImageReadException ex) { Logger.getLogger(EditeurPanovisu.class.getName()).log(Level.SEVERE, null, ex); } catch (IOException ex) { Logger.getLogger(EditeurPanovisu.class.getName()).log(Level.SEVERE, null, ex); } } else { img = new Image("file:" + fichierImage); } if (img.getWidth() == 2 * img.getHeight()) { lstFich1[i] = file; typeFich1[i] = Panoramique.SPHERE; i++; } if (img.getWidth() == img.getHeight()) { String nom = file.getAbsolutePath().substring(0, file.getAbsolutePath().length() - 6); boolean trouve = false; for (int j = 0; j < i; j++) { String nom1 = lstFich1[j].getAbsolutePath().substring(0, file.getAbsolutePath().length() - 6); if (nom.equals(nom1)) { trouve = true; } } if (!trouve) { lstFich1[i] = file; typeFich1[i] = Panoramique.CUBE; i++; } } } File[] lstFich = new File[i]; System.arraycopy(lstFich1, 0, lstFich, 0, i); lblDragDrop.setVisible(false); for (int ii = 0; ii < lstFich.length; ii++) { File file1 = lstFich[ii]; dejaSauve = false; stPrincipal.setTitle(stPrincipal.getTitle().replace(" *", "") + " *"); sauveProjet.setDisable(false); currentDir = file1.getParent(); File imageRepert = new File(repertTemp + File.separator + "panos"); if (!imageRepert.exists()) { imageRepert.mkdirs(); } repertPanos = imageRepert.getAbsolutePath(); // try { // if (typeFich1[ii].equals(Panoramique.SPHERE)) { // copieFichierRepertoire(file1.getPath(), repertPanos); // } else { // String nom = file1.getAbsolutePath().substring(0, file1.getAbsolutePath().length() - 6); // copieFichierRepertoire(nom + "_u.jpg", repertPanos); // copieFichierRepertoire(nom + "_d.jpg", repertPanos); // copieFichierRepertoire(nom + "_f.jpg", repertPanos); // copieFichierRepertoire(nom + "_b.jpg", repertPanos); // copieFichierRepertoire(nom + "_r.jpg", repertPanos); // copieFichierRepertoire(nom + "_l.jpg", repertPanos); // } // } catch (IOException ex) { // Logger.getLogger(EditeurPanovisu.class.getName()).log(Level.SEVERE, null, ex); // } ajoutePanoramiqueProjet(file1.getPath(), typeFich1[ii]); } installeEvenements(); imgVisiteGenere.setOpacity(1.0); imgVisiteGenere.setDisable(false); } }
From source file:editeurpanovisu.EditeurPanovisu.java
/** * * @throws InterruptedException Exception interruption *//* w w w .jav a 2s . c o m*/ private static void panoramiquesAjouter() throws InterruptedException { FileChooser fileChooser = new FileChooser(); FileChooser.ExtensionFilter extFilterImage = new FileChooser.ExtensionFilter( "Fichiers Image (JPG,BMP,TIFF)", "*.jpg", "*.bmp", "*.tif"); FileChooser.ExtensionFilter extFilterJpeg = new FileChooser.ExtensionFilter("Fichiers JPEG (*.jpg)", "*.jpg"); FileChooser.ExtensionFilter extFilterBmp = new FileChooser.ExtensionFilter("Fichiers BMP (*.bmp)", "*.bmp"); FileChooser.ExtensionFilter extFilterTiff = new FileChooser.ExtensionFilter("Fichiers TIFF (*.tif)", "*.tif"); File fileRepert = new File(getStrCurrentDir() + File.separator); fileChooser.setInitialDirectory(fileRepert); fileChooser.getExtensionFilters().addAll(extFilterJpeg, extFilterTiff, extFilterBmp, extFilterImage); List<File> listFichiers = fileChooser.showOpenMultipleDialog(null); if (listFichiers != null) { getApAttends().setVisible(true); mbarPrincipal.setDisable(true); bbarPrincipal.setDisable(true); hbBarreBouton.setDisable(true); pbarAvanceChargement.setProgress(-1); tpEnvironnement.setDisable(true); int i = 0; File[] fileLstFich1 = new File[listFichiers.size()]; String[] typeFich1 = new String[listFichiers.size()]; for (File fileFichier : listFichiers) { fileLstFich1[i] = fileFichier; i++; } int iNb = i; lblDragDrop.setVisible(false); Task taskTraitementChargeFichiers; taskTraitementChargeFichiers = tskChargeListeFichiers(fileLstFich1, iNb); Thread thrChargeFichiers = new Thread(taskTraitementChargeFichiers); thrChargeFichiers.setDaemon(true); thrChargeFichiers.start(); } }
From source file:org.beryx.viewreka.fxapp.ProjectLibs.java
public void addUncatalogedLibs() { FileChooser libChooser = new FileChooser(); libChooser.setTitle("Select libraries"); libChooser.getExtensionFilters().addAll( new FileChooser.ExtensionFilter("jar and vbundle files", "*.jar", "*.vbundle"), new FileChooser.ExtensionFilter("All files", "*.*")); GuiSettings guiSettings = guiSettingsManager.getSettings(); File initialDir = guiSettings.getMostRecentProjectDir(); String lastLibDirPath = guiSettings.getProperty(PROP_LAST_LIBRARY_DIR, null, true); if (lastLibDirPath != null) { try {//from w ww . j a va2 s. c o m File dir = new File(lastLibDirPath); if (dir.isDirectory()) { initialDir = dir; } } catch (Exception e) { log.warn("Cannot retrieve last library path", e); } } libChooser.setInitialDirectory(initialDir); List<File> libFiles = libChooser.showOpenMultipleDialog(getScene().getWindow()); if (libFiles != null && !libFiles.isEmpty()) { guiSettings.setProperty(PROP_LAST_LIBRARY_DIR, libFiles.get(0).getParent()); Stream<String> libStream = libFiles.stream().map(f -> f.getAbsolutePath()) .filter(s -> (s != null && !s.isEmpty())).filter(s -> lstLib.getItems().stream() .map(entry -> entry.getCellText()).noneMatch(txt -> txt.equals(s))); libStream.forEach(s -> lstLib.getItems().add(LibListEntry.forFilePath(s))); } }
From source file:org.cryptomator.ui.controllers.MainController.java
@FXML private void didClickAddExistingVaults(ActionEvent event) { final FileChooser fileChooser = new FileChooser(); fileChooser.getExtensionFilters()//from w w w . ja v a2 s. com .add(new FileChooser.ExtensionFilter("Cryptomator Masterkey", "*" + Vault.VAULT_FILE_EXTENSION)); final List<File> files = fileChooser.showOpenMultipleDialog(mainWindow); if (files != null) { for (final File file : files) { addVault(file.toPath(), false); } } }
From source file:snpviewer.SnpViewer.java
public void addInputFiles(final boolean isAffected) { setProgressMode(true);/* w w w . ja v a 2s . c o m*/ FileChooser fileChooser = new FileChooser(); fileChooser.getExtensionFilters() .add(new FileChooser.ExtensionFilter("Text Files", "*.txt", "AutoSNPa Files", "*.xls")); fileChooser.setTitle("Select one or more input (birdseed) files"); List<File> chosen = fileChooser.showOpenMultipleDialog(null); if (chosen == null) { setProgressMode(false); return; } cancelButton.setOnAction(new EventHandler<ActionEvent>() { @Override public void handle(ActionEvent actionEvent) { setProgressMode(false); }; }); ArrayList<File> inputFiles = new ArrayList<>(); inputFiles.addAll(chosen); ArrayList<File> duplicates = new ArrayList<>(); ArrayList<Integer> indicesToRemove = new ArrayList<>(); for (int i = 0; i < inputFiles.size(); i++) { for (SnpFile s : affFiles) { if (inputFiles.get(i).getName().equals(s.getInputFileName())) { duplicates.add(inputFiles.get(i)); indicesToRemove.add(i); } } for (SnpFile s : unFiles) { if (inputFiles.get(i).getName().equals(s.getInputFileName())) { duplicates.add(inputFiles.get(i)); indicesToRemove.add(i); } } } if (!duplicates.isEmpty()) { StringBuilder duplicateString = new StringBuilder(); for (File d : duplicates) { duplicateString.append(d.getName()).append("\n"); } Collections.sort(indicesToRemove, Collections.reverseOrder()); for (int i : indicesToRemove) { inputFiles.remove(i); } DialogResponse response = Dialogs.showWarningDialog(null, "This project already includes the following file(s) with " + "matching names to the file(s) you have just tried to add:" + "\n\n" + duplicateString + "\nIf you want to change the affected " + "status of a file please remove it first. Any remaining " + "(non-duplicate) files will be processed if you click 'OK'.", "Duplicate Input File", "SnpViewer", Dialogs.DialogOptions.OK_CANCEL); if (!response.equals(DialogResponse.OK)) { setProgressMode(false); return; } } if (inputFiles.isEmpty()) { setProgressMode(false); return; } final Iterator iter = inputFiles.iterator(); File input = (File) iter.next(); int fileCounter = 1; if (snpViewSaveDirectory == null) { Dialogs.showWarningDialog(null, "Before processing input files " + "please create a project", "Create Project", "SNP Viewer"); boolean success = startNewProject(); if (!success) { setProgressMode(false); return; } } addInputFilesWithIterator(isAffected, input, iter, fileCounter, inputFiles.size()); }
From source file:tachyon.view.ProjectProperties.java
public ProjectProperties(JavaProject project, Window w) { this.project = project; stage = new Stage(); stage.initOwner(w);// w w w .j av a 2 s. c o m stage.initModality(Modality.APPLICATION_MODAL); stage.setWidth(600); stage.setTitle("Project Properties - " + project.getProjectName()); stage.getIcons().add(tachyon.Tachyon.icon); stage.setResizable(false); HBox mai, libs, one, two, thr, fou; ListView<String> compileList, runtimeList; Button compileAdd, compileRemove, preview, selectIm, runtimeAdd, runtimeRemove; TextField iconField; stage.setScene(new Scene(new VBox(5, pane = new TabPane( new Tab("Library Settings", box1 = new VBox(15, libs = new HBox(10, new Label("External Libraries"), libsView = new ListView<>(), new VBox(5, addJar = new Button("Add Jar"), removeJar = new Button("Remove Jar"))))), new Tab("Program Settings", new ScrollPane(box2 = new VBox(15, one = new HBox(10, new Label("Main-Class"), mainClass = new TextField(project.getMainClassName()), select = new Button("Select")), two = new HBox(10, new Label("Compile-Time Arguments"), compileList = new ListView<>(), new VBox(5, compileAdd = new Button("Add Argument"), compileRemove = new Button("Remove Argument")))))), new Tab("Deployment Settings", box3 = new VBox(15, thr = new HBox(10, new Label("Icon File"), iconField = new TextField(project.getFileIconPath()), preview = new Button("Preview Image"), selectIm = new Button("Select Icon")), fou = new HBox(10, new Label("Runtime Arguments"), runtimeList = new ListView<>(), new VBox(5, runtimeAdd = new Button("Add Argument"), runtimeRemove = new Button("Remove Argument")))))), new VBox(15, mai = new HBox(10, cancel = new Button("Cancel"), confirm = new Button("Confirm")))))); if (applyCss.get()) { stage.getScene().getStylesheets().add(css); } for (Tab b : pane.getTabs()) { b.setClosable(false); } mainClass.setPromptText("Main-Class"); box1.setPadding(new Insets(5, 10, 5, 10)); mai.setAlignment(Pos.CENTER_RIGHT); mai.setPadding(box1.getPadding()); libs.setAlignment(Pos.CENTER); one.setAlignment(Pos.CENTER); two.setAlignment(Pos.CENTER); thr.setAlignment(Pos.CENTER); fou.setAlignment(Pos.CENTER); box1.setAlignment(Pos.CENTER); box2.setPadding(box1.getPadding()); box2.setAlignment(Pos.CENTER); box3.setPadding(box1.getPadding()); box3.setAlignment(Pos.CENTER); mainClass.setEditable(false); mainClass.setPrefWidth(200); for (JavaLibrary lib : project.getAllLibs()) { libsView.getItems().add(lib.getBinaryAbsolutePath()); } for (String sa : project.getCompileTimeArguments().keySet()) { compileList.getItems().add(sa + ":" + project.getCompileTimeArguments().get(sa)); } for (String sa : project.getRuntimeArguments()) { runtimeList.getItems().add(sa); } compileAdd.setOnAction((e) -> { Dialog<Pair<String, String>> dialog = new Dialog<>(); dialog.setTitle("Compiler Argument"); dialog.initOwner(stage); dialog.setHeaderText("Entry the argument"); ButtonType loginButtonType = new ButtonType("Done", ButtonData.OK_DONE); dialog.getDialogPane().getButtonTypes().addAll(loginButtonType, ButtonType.CANCEL); GridPane grid = new GridPane(); grid.setHgap(10); grid.setVgap(10); grid.setPadding(new Insets(20, 150, 10, 10)); TextField username = new TextField(); username.setPromptText("Key"); TextField password = new TextField(); password.setPromptText("Value"); grid.add(new Label("Key:"), 0, 0); grid.add(username, 1, 0); grid.add(new Label("Value:"), 0, 1); grid.add(password, 1, 1); Node loginButton = dialog.getDialogPane().lookupButton(loginButtonType); loginButton.setDisable(true); username.textProperty().addListener((observable, oldValue, newValue) -> { loginButton.setDisable(newValue.trim().isEmpty()); }); dialog.getDialogPane().setContent(grid); Platform.runLater(() -> username.requestFocus()); dialog.setResultConverter(dialogButton -> { if (dialogButton == loginButtonType) { return new Pair<>(username.getText(), password.getText()); } return null; }); Optional<Pair<String, String>> result = dialog.showAndWait(); if (result.isPresent()) { compileList.getItems().add(result.get().getKey() + ":" + result.get().getValue()); } }); compileRemove.setOnAction((e) -> { if (compileList.getSelectionModel().getSelectedItem() != null) { compileList.getItems().remove(compileList.getSelectionModel().getSelectedItem()); } }); runtimeAdd.setOnAction((e) -> { TextInputDialog dia = new TextInputDialog(); dia.setTitle("Add Runtime Argument"); dia.setHeaderText("Enter an argument"); dia.initOwner(stage); Optional<String> res = dia.showAndWait(); if (res.isPresent()) { runtimeList.getItems().add(res.get()); } }); runtimeRemove.setOnAction((e) -> { if (runtimeList.getSelectionModel().getSelectedItem() != null) { runtimeList.getItems().remove(runtimeList.getSelectionModel().getSelectedItem()); } }); preview.setOnAction((e) -> { if (!iconField.getText().isEmpty()) { if (iconField.getText().endsWith(".ico")) { List<BufferedImage> read = new ArrayList<>(); try { read.addAll(ICODecoder.read(new File(iconField.getText()))); } catch (IOException ex) { } if (read.size() >= 1) { Image im = SwingFXUtils.toFXImage(read.get(0), null); Stage st = new Stage(); st.initOwner(stage); st.initModality(Modality.APPLICATION_MODAL); st.setTitle("Icon Preview"); st.getIcons().add(Tachyon.icon); st.setScene(new Scene(new BorderPane(new ImageView(im)))); if (applyCss.get()) { st.getScene().getStylesheets().add(css); } st.showAndWait(); } } else if (iconField.getText().endsWith(".icns")) { try { BufferedImage ima = Imaging.getBufferedImage(new File(iconField.getText())); if (ima != null) { Image im = SwingFXUtils.toFXImage(ima, null); Stage st = new Stage(); st.initOwner(stage); st.initModality(Modality.APPLICATION_MODAL); st.setTitle("Icon Preview"); st.getIcons().add(Tachyon.icon); st.setScene(new Scene(new BorderPane(new ImageView(im)))); if (applyCss.get()) { st.getScene().getStylesheets().add(css); } st.showAndWait(); } } catch (ImageReadException | IOException ex) { } } else { Image im = new Image(new File(iconField.getText()).toURI().toString()); Stage st = new Stage(); st.initOwner(stage); st.initModality(Modality.APPLICATION_MODAL); st.setTitle("Icon Preview"); st.getIcons().add(Tachyon.icon); st.setScene(new Scene(new BorderPane(new ImageView(im)))); if (applyCss.get()) { st.getScene().getStylesheets().add(css); } st.showAndWait(); } } }); selectIm.setOnAction((e) -> { FileChooser fc = new FileChooser(); fc.setTitle("Icon File"); String OS = System.getProperty("os.name").toLowerCase(); fc.getExtensionFilters().add(new ExtensionFilter("Icon File", OS.contains("win") ? getWindowsImageExtensions() : getMacImageExtensions())); fc.setSelectedExtensionFilter(fc.getExtensionFilters().get(0)); File lf = fc.showOpenDialog(stage); if (lf != null) { iconField.setText(lf.getAbsolutePath()); } }); addJar.setOnAction((e) -> { FileChooser f = new FileChooser(); f.setTitle("External Libraries"); f.setSelectedExtensionFilter(new ExtensionFilter("Jar Files", "*.jar")); List<File> showOpenMultipleDialog = f.showOpenMultipleDialog(stage); if (showOpenMultipleDialog != null) { for (File fi : showOpenMultipleDialog) { if (!libsView.getItems().contains(fi.getAbsolutePath())) { libsView.getItems().add(fi.getAbsolutePath()); } } } }); removeJar.setOnAction((e) -> { String selected = libsView.getSelectionModel().getSelectedItem(); if (selected != null) { libsView.getItems().remove(selected); } }); select.setOnAction((e) -> { List<String> all = getAll(); ChoiceDialog<String> di = new ChoiceDialog<>(project.getMainClassName(), all); di.setTitle("Select Main Class"); di.initOwner(stage); di.setHeaderText("Select A Main Class"); Optional<String> show = di.showAndWait(); if (show.isPresent()) { mainClass.setText(show.get()); } }); cancel.setOnAction((e) -> { stage.close(); }); confirm.setOnAction((e) -> { project.setMainClassName(mainClass.getText()); project.setFileIconPath(iconField.getText()); project.setRuntimeArguments(runtimeList.getItems()); HashMap<String, String> al = new HashMap<>(); for (String s : compileList.getItems()) { String[] spl = s.split(":"); al.put(spl[0], spl[1]); } project.setCompileTimeArguments(al); project.setAllLibs(libsView.getItems()); stage.close(); }); }
From source file:UI.MainStageController.java
/** * <h1>Lets the user choose a file / files to load.</h1> * Distinguishes which filetype is about to be loaded by the user * and calls the associated methods./* w ww .j a v a2s . c o m*/ * * @param fileType Enum to differentiate which type of file is loaded by the user. */ private void openFiles(FileType fileType) { FileChooser fileChooser = new FileChooser(); String fileChooserTitle = "Load from "; if ((Boolean) UserSettings.userSettings.get("isDefaultFileChooserLocation")) { setDefaultOpenDirectory(fileChooser); } else { fileChooser.setInitialDirectory( new File((String) UserSettings.userSettings.get("defaultFileChooserLocation"))); } switch (fileType) { case taxonId2Count: fileChooser.setTitle(fileChooserTitle + "taxonId2Count file"); break; case readName2TaxonId: fileChooser.setTitle(fileChooserTitle + "readName2TaxonId file"); break; case biomV1: fileChooser.setTitle(fileChooserTitle + "biomV1 file"); break; case biomV2: fileChooser.setTitle(fileChooserTitle + "biomV2 file"); break; case qiime: fileChooser.setTitle(fileChooserTitle + "qiime file"); break; } //Choose the file / files List<File> selectedFiles = fileChooser.showOpenMultipleDialog(getPrimaryStage()); if (selectedFiles != null) { //Keeps every file that has been loaded before in a list to show only one alert //for multiple files ArrayList<String> namesOfAlreadyLoadedFiles = new ArrayList<>(); for (File file : selectedFiles) { String foundFilePath = file.getAbsolutePath(); if (LoadedData.getOpenFiles() != null && LoadedData.getOpenFiles().contains(foundFilePath)) { namesOfAlreadyLoadedFiles.add(file.getName()); } else { switch (fileType) { case taxonId2Count: addId2CountFileToTreeView(file); break; case readName2TaxonId: addReadName2TaxonIdFileToTreeView(file); break; case biomV1: addBiomV1FileToTreeView(file); break; case biomV2: addBiomV2FileToTreeView(file); break; case qiime: //TODO HANDLE METADATA PROVIDED BY QIIME break; } } } //Shows an alert if the user chose to load one or multiple files //that have already been loaded before. if (namesOfAlreadyLoadedFiles.size() != 0) { showFileAlreadyLoadedAlert(namesOfAlreadyLoadedFiles); } } }