boolean open) { String lastDirPath = preferences.get(DIAGRAM_GRAPH_IO_LAST_DIR_KEY, "."); SnapFileChooser fileChooser = new SnapFileChooser(new File(lastDirPath)); fileChooser.setAcceptAllFileFilterUsed(true); fileChooser.setDialogTitle(title); for (SnapFileFilter fileFilter : fileFilters) { fileChooser.addChoosableFileFilter(fileFilter); fileChooser.setFileFilter(fileFilters[0]); if (open) { fileChooser.setDialogType(SnapFileChooser.OPEN_DIALOG); } else { fileChooser.setDialogType(SnapFileChooser.SAVE_DIALOG); int i = fileChooser.showDialog(parentComponent, null); if (i == SnapFileChooser.APPROVE_OPTION) { selectedFile = fileChooser.getSelectedFile(); if (open || !selectedFile.exists()) { break;
File currentDir = new File(lastDir); SnapFileChooser fileChooser = new SnapFileChooser(); fileChooser.setCurrentDirectory(currentDir); if (fileFilter != null) { fileChooser.setFileFilter(fileFilter); fileChooser.setSelectedFile(new File(FileUtils.exchangeExtension(fileName, defaultExtension))); fileChooser.setDialogTitle(getDialogTitle(title)); fileChooser.setFileSelectionMode(dirsOnly ? JFileChooser.DIRECTORIES_ONLY : JFileChooser.FILES_ONLY); if (accessory != null) { fileChooser.setAccessory(accessory); int result = fileChooser.showSaveDialog(SnapApp.getDefault().getMainFrame()); if (fileChooser.getCurrentDirectory() != null) { getPreferences().put(preferenceKey, fileChooser.getCurrentDirectory().getPath()); File file = fileChooser.getSelectedFile(); if (file == null || file.getName().equals("")) { return null;
private SnapFileChooser getFileChooser(String lastDir) { final SnapFileChooser fileChooser = new SnapFileChooser(); fileChooser.setFileFilter(new SnapFileFilter("CSV", new String[]{".csv", ".txt", ".ascii"}, "CSV files")); fileChooser.setCurrentDirectory(new File(lastDir)); return fileChooser; } }
private void init() { setAcceptAllFileFilterUsed(false); addPropertyChangeListener(JFileChooser.SELECTED_FILE_CHANGED_PROPERTY, evt -> { Object newValue = evt.getNewValue(); if (newValue instanceof File) { lastFilename = ((File) newValue).getName(); } }); addPropertyChangeListener(JFileChooser.FILE_FILTER_CHANGED_PROPERTY, evt -> { final SnapFileFilter snapFileFilter = getSnapFileFilter(); if (snapFileFilter != null) { setFileSelectionMode(snapFileFilter.getFileSelectionMode().getValue()); } else { setFileSelectionMode(FILES_ONLY); } if (getSelectedFile() != null) { return; } if (lastFilename == null || lastFilename.length() == 0) { return; } setCurrentFilename(lastFilename); }); }
/** * Called by the UI when the user hits the Approve button (labeled "Open" or "Save", by default). This can also be * called by the programmer. */ @Override public void approveSelection() { Debug.trace("SnapFileChooser: approveSelection(): selectedFile = " + getSelectedFile()); Debug.trace("SnapFileChooser: approveSelection(): currentFilename = " + getCurrentFilename()); Debug.trace("SnapFileChooser: approveSelection(): currentDirectory = " + getCurrentDirectory()); if (getDialogType() != JFileChooser.OPEN_DIALOG) { ensureSelectedFileHasValidExtension(); } super.approveSelection(); }
private static File getExportFile() { final Preferences preferences = SnapApp.getDefault().getPreferences(); final File currentDir = new File(preferences.get(lastExportDirPreferenceKey, SystemUtils.getUserHomeDir().getPath())); final SnapFileChooser fileChooser = new SnapFileChooser(); fileChooser.setDialogTitle("Export list of products"); fileChooser.setCurrentDirectory(currentDir); final int result = fileChooser.showSaveDialog(SnapApp.getDefault().getMainFrame()); if (result == JFileChooser.APPROVE_OPTION) { final File file = fileChooser.getSelectedFile(); if (file != null) { final File parentFolder = file.getAbsoluteFile().getParentFile(); if (parentFolder != null) { preferences.put(lastExportDirPreferenceKey, parentFolder.getPath()); } return file; } } return null; }
final File currentDir = new File(lastDir); final SnapFileChooser fileChooser = new SnapFileChooser(); fileChooser.setCurrentDirectory(currentDir); fileChooser.addChoosableFileFilter(kmzFileFilter); fileChooser.setAcceptAllFileFilterUsed(false); fileChooser.setDialogTitle(snapApp.getInstanceName() + " - " + "export KMZ"); final String currentFilename = sceneView.isRGB() ? "RGB" : sceneView.getRaster().getName(); fileChooser.setCurrentFilename(currentFilename); fileChooser.setFileSelectionMode(JFileChooser.FILES_ONLY); Dimension fileChooserSize = fileChooser.getPreferredSize(); if (fileChooserSize != null) { fileChooser.setPreferredSize(new Dimension( fileChooserSize.width + 120, fileChooserSize.height)); } else { fileChooser.setPreferredSize(new Dimension(512, 256)); int result = fileChooser.showSaveDialog(snapApp.getMainFrame()); File file = fileChooser.getSelectedFile(); fileChooser.addPropertyChangeListener(evt -> { final File currentDirectory = fileChooser.getCurrentDirectory(); if (currentDirectory != null) { Config.instance().load().preferences().get(
private List<Placemark> loadPlacemarksFromFile() throws IOException { final SnapFileChooser fileChooser = new SnapFileChooser(); String roleLabel = StringUtils.firstLetterUp(placemarkDescriptor.getRoleLabel()); fileChooser.setDialogTitle("Import " + roleLabel + "s"); /*I18N*/ setComponentName(fileChooser, "Import"); fileChooser.addChoosableFileFilter(PlacemarkIO.createTextFileFilter()); fileChooser.setFileFilter(PlacemarkIO.createPlacemarkFileFilter()); fileChooser.setCurrentDirectory(getIODir()); int result = fileChooser.showOpenDialog(SwingUtilities.getWindowAncestor(this)); if (result == JFileChooser.APPROVE_OPTION) { File file = fileChooser.getSelectedFile(); if (file != null) { setIODir(file.getAbsoluteFile().getParentFile()); GeoCoding geoCoding = null; if (product != null) { geoCoding = product.getSceneGeoCoding(); } return PlacemarkIO.readPlacemarks(new FileReader(file), geoCoding, placemarkDescriptor); } } return Collections.emptyList(); }
final SnapFileChooser fileChooser = new SnapFileChooser(); fileChooser.setCurrentDirectory(currentDir); for (int i = 0; i < filters.length; i++) { SnapFileFilter filter = filters[i]; Debug.trace("export image: supported format " + (i + 1) + ": " + filter.getFormatName()); fileChooser.addChoosableFileFilter(filter); // note: also selects current file filter! fileChooser.setAcceptAllFileFilterUsed(false); fileChooser.setFileSelectionMode(JFileChooser.FILES_ONLY); Dimension fileChooserSize = fileChooser.getPreferredSize(); if (fileChooserSize != null) { fileChooser.setPreferredSize(new Dimension(fileChooserSize.width + 120, fileChooserSize.height)); } else { fileChooser.setPreferredSize(new Dimension(512, 256)); int result = fileChooser.showSaveDialog(SnapApp.getDefault().getMainFrame()); File file = fileChooser.getSelectedFile(); fileChooser.addPropertyChangeListener(evt -> { final File currentDirectory = fileChooser.getCurrentDirectory(); if (currentDirectory != null) { Config.instance().preferences().put(IMAGE_EXPORT_DIR_PREFERENCES_KEY, currentDirectory.getPath()); final SnapFileFilter fileFilter = fileChooser.getSnapFileFilter(); String imageFormat = fileFilter != null ? fileFilter.getFormatName() : "TIFF"; if (imageFormat.equals(GEOTIFF_FORMAT_DESCRIPTION[0]) && !entireImageSelected) {
private static File requestFolderForSave2(String title, final String preferenceKey) { Assert.notNull(preferenceKey, "preferenceKey"); String lastDir = SnapApp.getDefault().getPreferences().get(preferenceKey, SystemUtils.getUserHomeDir().getPath()); File currentDir = new File(lastDir); SnapFileChooser fileChooser = new SnapFileChooser(); fileChooser.setCurrentDirectory(currentDir); fileChooser.setDialogTitle(Dialogs.getDialogTitle(title)); fileChooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY); fileChooser.setAcceptAllFileFilterUsed(false); int result = fileChooser.showSaveDialog(SnapApp.getDefault().getMainFrame()); if (fileChooser.getCurrentDirectory() != null) { SnapApp.getDefault().getPreferences().put(preferenceKey, fileChooser.getCurrentDirectory().getPath()); } if (result == JFileChooser.APPROVE_OPTION) { File file = fileChooser.getSelectedFile(); if (file == null || file.getName().equals("")) { return null; } String path = file.getPath(); return new File(path); } return null; }
File currentDir = new File(lastDir); SnapFileChooser fileChooser = new SnapFileChooser(); fileChooser.setCurrentDirectory(currentDir); if (fileFilter != null) { fileChooser.setFileFilter(fileFilter); fileChooser.setDialogTitle(getDialogTitle(title)); fileChooser.setFileSelectionMode(dirsOnly ? JFileChooser.DIRECTORIES_ONLY : JFileChooser.FILES_ONLY); int result = fileChooser.showOpenDialog(SnapApp.getDefault().getMainFrame()); if (fileChooser.getCurrentDirectory() != null) { getPreferences().put(preferencesKey, fileChooser.getCurrentDirectory().getPath()); File file = fileChooser.getSelectedFile(); if (file == null || file.getName().equals("")) { return null;
void exportPlacemarks() { final SnapFileChooser fileChooser = new SnapFileChooser(); fileChooser.setDialogTitle(MessageFormat.format("Export {0}(s)", StringUtils.firstLetterUp(placemarkDescriptor.getRoleLabel()))); setComponentName(fileChooser, "Export_Selected"); fileChooser.addChoosableFileFilter(PlacemarkIO.createTextFileFilter()); fileChooser.addChoosableFileFilter(PlacemarkIO.createKmzFileFilter()); fileChooser.setFileFilter(PlacemarkIO.createPlacemarkFileFilter()); final File ioDir = getIODir(); fileChooser.setCurrentDirectory(ioDir); fileChooser.setSelectedFile(new File(ioDir, placemarkDescriptor.getRoleName())); int result = fileChooser.showSaveDialog(SwingUtilities.getWindowAncestor(this)); if (result == JFileChooser.APPROVE_OPTION) { File file = fileChooser.getSelectedFile(); if (file != null) { if (Boolean.TRUE.equals(Dialogs.requestOverwriteDecision(getTitle(), file))) { setIODir(file.getAbsoluteFile().getParentFile()); SnapFileFilter snapFileFilter = fileChooser.getSnapFileFilter(); String fileExtension = FileUtils.getExtension(file); if (fileExtension == null || !StringUtils.contains(snapFileFilter.getExtensions(), fileExtension)) {
public void importGeometry(final SnapApp snapApp) { final Preferences preferences = snapApp.getPreferences(); final SnapFileChooser fileChooser = new SnapFileChooser(); fileChooser.setDialogTitle(dialogTitle); fileChooser.setFileFilter(filter); fileChooser.setAcceptAllFileFilterUsed(false); fileChooser.setMultiSelectionEnabled(true); fileChooser.setCurrentDirectory(getIODir(preferences)); final int result = fileChooser.showOpenDialog(snapApp.getMainFrame()); if (result == JFileChooser.APPROVE_OPTION) { final File[] files = fileChooser.getSelectedFiles(); if (files != null && files.length > 0) { setIODir(preferences, files[0].getAbsoluteFile().getParentFile()); for(File file : files) { importGeometry(snapApp, file); } } } }
private JFileChooser createFileChooser() { String lastDirPath = Config.instance().load().preferences().get(GCP_EXPORT_DIR_PREFERENCES_KEY, SystemUtils.getUserHomeDir().getPath()); SnapFileChooser fileChooser = new SnapFileChooser(); HelpCtx.setHelpIDString(fileChooser, getHelpCtx().getHelpID()); fileChooser.setAcceptAllFileFilterUsed(false); fileChooser.setCurrentDirectory(new File(lastDirPath)); fileChooser.setFileFilter( new SnapFileFilter(GCP_FILE_DESCRIPTION, GCP_FILE_EXTENSION, GCP_FILE_DESCRIPTION)); fileChooser.setDialogTitle(Bundle.CTL_ExportEnviGcpFileAction_DialogTitle()); fileChooser.setFileSelectionMode(JFileChooser.FILES_ONLY); return fileChooser; }
private File promptForSaveFile() { final SnapFileChooser snapFileChooser = new SnapFileChooser(getProfilesDir()); snapFileChooser.setFileFilter(new SnapFileFilter("RGB-PROFILE", ".rgb", "RGB-Image Profile Files")); final int status = snapFileChooser.showSaveDialog(this); if (snapFileChooser.getSelectedFile() == null) { selectedFile = null; break; selectedFile = snapFileChooser.getSelectedFile(); lastDir = selectedFile.getParentFile(); if (status != SnapFileChooser.APPROVE_OPTION) {
private void performOpen() { final SnapFileChooser snapFileChooser = new SnapFileChooser(getProfilesDir()); snapFileChooser.setFileFilter( new SnapFileFilter("RGB-PROFILE", RGBImageProfile.FILENAME_EXTENSION, "RGB-Image Profile Files")); final int status = snapFileChooser.showOpenDialog(this); if (snapFileChooser.getSelectedFile() == null) { return; final File file = snapFileChooser.getSelectedFile(); lastDir = file.getParentFile(); if (status != SnapFileChooser.APPROVE_OPTION) {
private static JFileChooser createDirectoryChooser() { final JFileChooser fileChooser = new SnapFileChooser(); fileChooser.setAcceptAllFileFilterUsed(false); fileChooser.setFileFilter(new FileFilter() { @Override public boolean accept(final File f) { return f.isDirectory(); } @Override public String getDescription() { return "Directories"; /* I18N */ } }); fileChooser.setDialogTitle("Select Directory"); /* I18N */ fileChooser.setMultiSelectionEnabled(false); fileChooser.setFileSelectionMode(JFileChooser.DIRECTORIES_ONLY); fileChooser.setApproveButtonText("Select"); /* I18N */ fileChooser.setApproveButtonMnemonic('S'); return fileChooser; }
protected void configureFileChooser(final SnapFileChooser fileChooser, final ProductSceneView view, String imageBaseName) { fileChooser.setDialogTitle(SnapApp.getDefault().getInstanceName() + " - " + "Export Image"); /*I18N*/ if (view.isRGB()) { fileChooser.setCurrentFilename(imageBaseName + "_RGB"); } else { fileChooser.setCurrentFilename(imageBaseName + "_" + view.getRaster().getName()); accessory.add(sizePanel); fileChooser.setAccessory(accessory); buttonVisibleRegion.addActionListener(e -> updateComponents(e.getActionCommand())); buttonFullRegion.addActionListener(e -> updateComponents(e.getActionCommand()));
private void ensureSelectedFileHasValidExtension() { File selectedFile = getSelectedFile(); if (selectedFile != null) { SnapFileFilter mff = getSnapFileFilter(); if (mff != null && mff.getDefaultExtension() != null && !mff.checkExtension(selectedFile)) { selectedFile = FileUtils.exchangeExtension(selectedFile, mff.getDefaultExtension()); Debug.trace("mod. selected file: " + selectedFile.getPath()); setSelectedFile(selectedFile); } } }
@Override public void actionPerformed(ActionEvent e) { PropertyMap preferences = appContext.getPreferences(); final SnapFileChooser fileChooser = getFileChooser( preferences.getPropertyString(LAST_OPEN_CSV_DIR, SystemUtils.getUserHomeDir().getPath())); int answer = fileChooser.showDialog(parent, "Select"); if (answer == JFileChooser.APPROVE_OPTION) { File selectedFile = fileChooser.getSelectedFile(); preferences.setPropertyString(LAST_OPEN_CSV_DIR, selectedFile.getParent()); try { final List<SimpleFeature> extendedFeatures = PixExOpUtils.extractFeatures(selectedFile); for (SimpleFeature extendedFeature : extendedFeatures) { final GenericPlacemarkDescriptor placemarkDescriptor = new GenericPlacemarkDescriptor( extendedFeature.getFeatureType()); final Placemark placemark = placemarkDescriptor.createPlacemark(extendedFeature); setName(extendedFeature, placemark); setDateTime(extendedFeature, placemark); setPlacemarkGeoPos(extendedFeature, placemark); tableModel.addPlacemark(placemark); } } catch (IOException exception) { appContext.handleError(String.format("Error occurred while reading file: %s \n" + exception.getLocalizedMessage() + "\nPossible reason: Other char separator than tabulator used", selectedFile), exception); } } }