final File currentDir = new File(lastDir); final BeamFileChooser fileChooser = new BeamFileChooser(); HelpSys.enableHelpKey(fileChooser, helpID); fileChooser.setCurrentDirectory(currentDir); fileChooser.addChoosableFileFilter(csvFileFilter); fileChooser.setAcceptAllFileFilterUsed(false); fileChooser.setDialogTitle(visatApp.getAppName() + " - " + "Export time series as CSV file..."); /* I18N */ 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(visatApp.getMainFrame()); File file = fileChooser.getSelectedFile(); final File currentDirectory = fileChooser.getCurrentDirectory(); if (currentDirectory != null) { visatApp.getPreferences().setPropertyString(
void importGeometry(final VisatApp visatApp) { final PropertyMap propertyMap = visatApp.getPreferences(); final BeamFileChooser fileChooser = new BeamFileChooser(); HelpSys.enableHelpKey(fileChooser, helpId); fileChooser.setDialogTitle(dialogTitle); fileChooser.setFileFilter(filter); // fileChooser.addChoosableFileFilter(filter); fileChooser.setAcceptAllFileFilterUsed(false); fileChooser.setCurrentDirectory(getIODir(propertyMap)); final int result = fileChooser.showOpenDialog(visatApp.getMainFrame()); if (result == JFileChooser.APPROVE_OPTION) { final File file = fileChooser.getSelectedFile(); if (file != null) { setIODir(propertyMap, file.getAbsoluteFile().getParentFile()); importGeometry(visatApp, file); } } }
boolean open) { String lastDirPath = preferences.getPropertyString(DIAGRAM_GRAPH_IO_LAST_DIR_KEY, "."); BeamFileChooser fileChooser = new BeamFileChooser(new File(lastDirPath)); fileChooser.setAcceptAllFileFilterUsed(true); fileChooser.setDialogTitle(title); for (BeamFileFilter fileFilter : fileFilters) { fileChooser.addChoosableFileFilter(fileFilter); fileChooser.setFileFilter(fileFilters[0]); if (open) { fileChooser.setDialogType(BeamFileChooser.OPEN_DIALOG); } else { fileChooser.setDialogType(BeamFileChooser.SAVE_DIALOG); int i = fileChooser.showDialog(parentComponent, null); if (i == BeamFileChooser.APPROVE_OPTION) { selectedFile = fileChooser.getSelectedFile(); if (open || !selectedFile.exists()) { break;
private BeamFileChooser getFileChooser(String lastDir) { final BeamFileChooser fileChooser = new BeamFileChooser(); fileChooser.setFileFilter(new BeamFileFilter("CSV", new String[]{".csv", ".txt", ".ascii"}, "CSV files")); fileChooser.setCurrentDirectory(new File(lastDir)); return fileChooser; } }
@Override public void propertyChange(PropertyChangeEvent evt) { final BeamFileFilter beamFileFilter = getBeamFileFilter(); if (beamFileFilter != null) { setFileSelectionMode(beamFileFilter.getFileSelectionMode().getValue()); } else { setFileSelectionMode(FILES_ONLY); } if (getSelectedFile() != null) { return; } if (lastFilename == null || lastFilename.length() == 0) { return; } setCurrentFilename(lastFilename); } });
private void init() { setAcceptAllFileFilterUsed(false); addPropertyChangeListener(JFileChooser.SELECTED_FILE_CHANGED_PROPERTY, new PropertyChangeListener() { @Override public void propertyChange(PropertyChangeEvent evt) { addPropertyChangeListener(JFileChooser.FILE_FILTER_CHANGED_PROPERTY, new PropertyChangeListener() { @Override public void propertyChange(PropertyChangeEvent evt) {
String lastFormat = getPreferences().getPropertyString(PROPERTY_KEY_APP_LAST_OPEN_FORMAT, ALL_FILES_IDENTIFIER); BeamFileChooser fileChooser = new BeamFileChooser(); fileChooser.setCurrentDirectory(new File(lastDir)); fileChooser.setAcceptAllFileFilterUsed(true); fileChooser.setDialogTitle(getAppName() + " - " + "Open Data Product(s)"); /*I18N*/ fileChooser.setMultiSelectionEnabled(true); FileFilter actualFileFilter = fileChooser.getAcceptAllFileFilter(); Iterator<ProductReaderPlugIn> allReaderPlugIns = ProductIOPlugInManager.getInstance().getAllReaderPlugIns(); List<BeamFileFilter> sortedFileFilters = BeamFileFilter.getSortedFileFilters(allReaderPlugIns); for (BeamFileFilter productFileFilter : sortedFileFilters) { fileChooser.addChoosableFileFilter(productFileFilter); if (!ALL_FILES_IDENTIFIER.equals(lastFormat) && productFileFilter.getFormatName().equals(lastFormat)) { fileChooser.setFileFilter(actualFileFilter); int result = fileChooser.showDialog(getMainFrame(), "Open Product"); /*I18N*/ if (result != JFileChooser.APPROVE_OPTION) { return null; String currentDir = fileChooser.getCurrentDirectory().getAbsolutePath(); getPreferences().setPropertyString(PROPERTY_KEY_APP_LAST_OPEN_DIR, currentDir); if (fileChooser.getFileFilter() instanceof BeamFileFilter) { String currentFormat = ((BeamFileFilter) fileChooser.getFileFilter()).getFormatName(); if (currentFormat != null) { getPreferences().setPropertyString(PROPERTY_KEY_APP_LAST_OPEN_FORMAT, currentFormat);
final BeamFileChooser fileChooser = new BeamFileChooser(); HelpSys.enableHelpKey(fileChooser, command.getHelpId()); fileChooser.setCurrentDirectory(currentDir); for (int i = 0; i < filters.length; i++) { BeamFileFilter 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(visatApp.getMainFrame()); File file = fileChooser.getSelectedFile(); fileChooser.addPropertyChangeListener(new PropertyChangeListener() { @Override public void propertyChange(PropertyChangeEvent evt) { final File currentDirectory = fileChooser.getCurrentDirectory(); if (currentDirectory != null) { visatApp.getPreferences().setPropertyString(IMAGE_EXPORT_DIR_PREFERENCES_KEY, currentDirectory.getPath()); final BeamFileFilter fileFilter = fileChooser.getBeamFileFilter();
File currentDir = new File(lastDir); final BeamFileChooser fileChooser = new BeamFileChooser(); fileChooser.setCurrentDirectory(currentDir); if (fileFilter != null) { fileChooser.setFileFilter(fileFilter); fileChooser.setSelectedFile(new File(FileUtils.exchangeExtension(fileName, defaultExtension))); fileChooser.setDialogTitle(getAppName() + " - " + title); fileChooser.setFileSelectionMode(dirsOnly ? JFileChooser.DIRECTORIES_ONLY : JFileChooser.FILES_ONLY); int result = fileChooser.showSaveDialog(getMainFrame()); if (fileChooser.getCurrentDirectory() != null) { String lastDirPath = fileChooser.getCurrentDirectory().getAbsolutePath(); if (lastDirPath != null) { getPreferences().setPropertyString(lastDirPropertyKey, lastDirPath); File file = fileChooser.getSelectedFile(); if (file == null || file.getName().equals("")) { return null;
void exportPlacemarkDataTable() { final BeamFileChooser fileChooser = new BeamFileChooser(); fileChooser.setDialogTitle(MessageFormat.format("Export {0} Data Table", /*I18N*/ StringUtils.firstLetterUp(placemarkDescriptor.getRoleLabel()))); setComponentName(fileChooser, "Export_Data_Table"); fileChooser.setFileFilter(PlacemarkIO.createTextFileFilter()); final File ioDir = getIODir(); fileChooser.setCurrentDirectory(ioDir); fileChooser.setSelectedFile(new File(ioDir, "Data")); int result = fileChooser.showSaveDialog(getPaneWindow()); if (result == JFileChooser.APPROVE_OPTION) { File file = fileChooser.getSelectedFile(); if (file != null) { if (!visatApp.promptForOverwrite(file)) { return; } setIODir(file.getAbsoluteFile().getParentFile()); file = FileUtils.ensureExtension(file, PlacemarkIO.FILE_EXTENSION_FLAT_TEXT); try { try (Writer writer = new FileWriter(file)) { writePlacemarkDataTableText(writer); } } catch (IOException ignored) { showErrorDialog(MessageFormat.format("I/O Error.\nFailed to export {0} data table.", /*I18N*/ placemarkDescriptor.getRoleLabel())); } } } }
final PropertyMap preferences = visatApp.getPreferences(); String lastDir = preferences.getPropertyString(PROPERTY_KEY_LAST_OPEN_INSITU_DIR, SystemUtils.getUserHomeDir().getPath()); final BeamFileChooser fileChooser = new BeamFileChooser(new File(lastDir)); fileChooser.setAcceptAllFileFilterUsed(true); fileChooser.setDialogTitle("Select in-situ source file"); fileChooser.setMultiSelectionEnabled(false); FileFilter actualFileFilter = fileChooser.getAcceptAllFileFilter(); fileChooser.setFileFilter(actualFileFilter); int result = fileChooser.showDialog(visatApp.getMainFrame(), "Select in-situ source file"); /*I18N*/ if (result != JFileChooser.APPROVE_OPTION) { return; final File selectedFile = fileChooser.getSelectedFile(); try { final InsituLoader insituLoader = InsituLoaderFactory.createInsituLoader(selectedFile); File currentDirectory = fileChooser.getCurrentDirectory(); if (currentDirectory != null) { preferences.setPropertyString(PROPERTY_KEY_LAST_OPEN_INSITU_DIR, currentDirectory.getAbsolutePath());
File currentDir = new File(lastDir); BeamFileChooser fileChooser = new BeamFileChooser(); fileChooser.setCurrentDirectory(currentDir); if (fileFilter != null) { fileChooser.setFileFilter(fileFilter); fileChooser.setDialogTitle(getAppName() + " - " + title); fileChooser.setFileSelectionMode(dirsOnly ? JFileChooser.DIRECTORIES_ONLY : JFileChooser.FILES_ONLY); int result = fileChooser.showOpenDialog(getMainFrame()); if (fileChooser.getCurrentDirectory() != null) { String lastDirPath = fileChooser.getCurrentDirectory().getAbsolutePath(); if (lastDirPath != null) { getPreferences().setPropertyString(lastDirPropertyKey, lastDirPath); File file = fileChooser.getSelectedFile(); if (file == null || file.getName().equals("")) { return null;
void exportPlacemarks() { final BeamFileChooser fileChooser = new BeamFileChooser(); fileChooser.setDialogTitle(MessageFormat.format("Export {0}(s)", fileChooser.addChoosableFileFilter(PlacemarkIO.createTextFileFilter()); fileChooser.setFileFilter(PlacemarkIO.createPlacemarkFileFilter()); final File ioDir = getIODir(); fileChooser.setCurrentDirectory(ioDir); fileChooser.setSelectedFile(new File(ioDir, placemarkDescriptor.getRoleName())); int result = fileChooser.showSaveDialog(getPaneWindow()); if (result == JFileChooser.APPROVE_OPTION) { File file = fileChooser.getSelectedFile(); if (file != null) { if (!visatApp.promptForOverwrite(file)) { BeamFileFilter beamFileFilter = fileChooser.getBeamFileFilter(); String fileExtension = FileUtils.getExtension(file); if (fileExtension == null || !StringUtils.contains(beamFileFilter.getExtensions(), fileExtension)) {
private JFileChooser createFileChooser(final VisatApp visatApp) { String lastDirPath = visatApp.getPreferences().getPropertyString(GCP_EXPORT_DIR_PREFERENCES_KEY, SystemUtils.getUserHomeDir().getPath()); BeamFileChooser fileChooser = new BeamFileChooser(); HelpSys.enableHelpKey(fileChooser, getHelpId()); fileChooser.setAcceptAllFileFilterUsed(false); fileChooser.setCurrentDirectory(new File(lastDirPath)); fileChooser.setFileFilter( new BeamFileFilter(GCP_FILE_DESCRIPTION, GCP_FILE_EXTENSION, GCP_FILE_DESCRIPTION)); fileChooser.setDialogTitle(DIALOG_TITLE); fileChooser.setFileSelectionMode(JFileChooser.FILES_ONLY); return fileChooser; } }
private File promptForSaveFile() { final BeamFileChooser beamFileChooser = new BeamFileChooser(getProfilesDir()); beamFileChooser.setFileFilter(new BeamFileFilter("RGB-PROFILE", ".rgb", "RGB-Image Profile Files")); final int status = beamFileChooser.showSaveDialog(this); if (beamFileChooser.getSelectedFile() == null) { selectedFile = null; break; selectedFile = beamFileChooser.getSelectedFile(); lastDir = selectedFile.getParentFile(); if (status != BeamFileChooser.APPROVE_OPTION) {
private void performOpen() { final BeamFileChooser beamFileChooser = new BeamFileChooser(getProfilesDir()); beamFileChooser.setFileFilter( new BeamFileFilter("RGB-PROFILE", RGBImageProfile.FILENAME_EXTENSION, "RGB-Image Profile Files")); final int status = beamFileChooser.showOpenDialog(this); if (beamFileChooser.getSelectedFile() == null) { return; final File file = beamFileChooser.getSelectedFile(); lastDir = file.getParentFile(); if (status != BeamFileChooser.APPROVE_OPTION) {
/** * 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("BeamFileChooser: approveSelection(): selectedFile = " + getSelectedFile()); Debug.trace("BeamFileChooser: approveSelection(): currentFilename = " + getCurrentFilename()); Debug.trace("BeamFileChooser: approveSelection(): currentDirectory = " + getCurrentDirectory()); if (getDialogType() != JFileChooser.OPEN_DIALOG) { ensureSelectedFileHasValidExtension(); } super.approveSelection(); }
private void ensureSelectedFileHasValidExtension() { File selectedFile = getSelectedFile(); if (selectedFile != null) { BeamFileFilter mff = getBeamFileFilter(); if (mff != null && mff.getDefaultExtension() != null && !mff.checkExtension(selectedFile)) { selectedFile = FileUtils.exchangeExtension(selectedFile, mff.getDefaultExtension()); Debug.trace("mod. selected file: " + selectedFile.getPath()); setSelectedFile(selectedFile); } } }
private ProductFileChooserAction() { super("..."); chooser = new BeamFileChooser(); chooser.setDialogTitle("Select Source Product"); final Iterator<ProductReaderPlugIn> iterator = ProductIOPlugInManager.getInstance().getAllReaderPlugIns(); List<BeamFileFilter> sortedFileFilters = BeamFileFilter.getSortedFileFilters(iterator); for (BeamFileFilter fileFilter : sortedFileFilters) { chooser.addChoosableFileFilter(fileFilter); } chooser.setAcceptAllFileFilterUsed(true); chooser.setFileFilter(chooser.getAcceptAllFileFilter()); }
@Override public void actionPerformed(ActionEvent e) { PropertyMap preferences = appContext.getPreferences(); final BeamFileChooser 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); if (extendedFeature.getAttribute("Name") != null) { placemark.setName(extendedFeature.getAttribute("Name").toString()); } 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); } } }