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); } } }
fileChooser.setSelectedFile(new File(FileUtils.exchangeExtension(fileName, defaultExtension)));
void exportPlacemarkDataTable() { final SnapFileChooser fileChooser = new SnapFileChooser(); 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(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()); file = FileUtils.ensureExtension(file, PlacemarkIO.FILE_EXTENSION_FLAT_TEXT); try { try (Writer writer = new FileWriter(file)) { writePlacemarkDataTableText(writer); } } catch (IOException ignored) { Dialogs.showError(MessageFormat.format("I/O Error.\nFailed to export {0} data table.", /*I18N*/ placemarkDescriptor.getRoleLabel())); } } } } }
/** * Sets the current filename. * * @param currentFilename The current filename, or {@code null}. */ public void setCurrentFilename(String currentFilename) { Debug.trace("SnapFileChooser: setCurrentFilename(\"" + currentFilename + "\")"); String defaultExtension = getDefaultExtension(); if (getDialogType() != JFileChooser.OPEN_DIALOG) { if (currentFilename != null && defaultExtension != null) { FileFilter fileFilter = getFileFilter(); if (fileFilter instanceof SnapFileFilter) { SnapFileFilter filter = (SnapFileFilter) fileFilter; if (!filter.checkExtension(currentFilename)) { currentFilename = FileUtils.exchangeExtension(currentFilename, defaultExtension); } } else if (fileFilter instanceof FileNameExtensionFilter) { FileNameExtensionFilter filter = (FileNameExtensionFilter) fileFilter; if (!SnapFileFilter.checkExtensions(currentFilename, filter.getExtensions())) { currentFilename = FileUtils.exchangeExtension(currentFilename, defaultExtension); } } } } if (currentFilename != null && currentFilename.length() > 0) { setSelectedFile(new File(getCurrentDirectory(), currentFilename)); } }
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) {