private Rectangle loadDialogBounds() { switch (getDialogType()) { case OPEN_DIALOG: return getRectangleFromPreferences(PREFERENCES_BOUNDS_OPEN); case SAVE_DIALOG: return getRectangleFromPreferences(PREFERENCES_BOUNDS_SAVE); case CUSTOM_DIALOG: default: return getRectangleFromPreferences(PREFERENCES_BOUNDS_CUSTOM); } }
private void storeDialogBounds(Rectangle bounds) { int dialogType = getDialogType(); switch (dialogType) { case OPEN_DIALOG: putRectangleToPreferences(PREFERENCES_BOUNDS_OPEN, bounds); break; case SAVE_DIALOG: putRectangleToPreferences(PREFERENCES_BOUNDS_SAVE, bounds); break; case CUSTOM_DIALOG: default: putRectangleToPreferences(PREFERENCES_BOUNDS_CUSTOM, bounds); } }
/** * 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)); } }
/** * 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(); }