resetChoosableFileFilters(); if (dialogType == OPEN_DIALOG) list = getOpenFileFilters(); else list = getSaveFileFilters(); for (i = 0; i < list.size(); i++) { addChoosableFileFilter(list.get(i)); restoreLastFilter(dialogType); removePropertyChangeListener(m_Listener); m_Listener = new PropertyChangeListener() { public void propertyChange(PropertyChangeEvent evt) { addPropertyChangeListener(m_Listener); if (getFileFilter() != null) updateCurrentHandlerHook();
/** * Performs the initialization of the file filters, if necessary. * * @param chooser the chooser that is being initialized currently * @see #getFiltersInitialized() */ protected static synchronized void initializeFilters(AbstractExtensionFileFilterFileChooser chooser) { if (!chooser.getFiltersInitialized()) chooser.doInitializeFilters(); }
public void propertyChange(PropertyChangeEvent evt) { // filter changed if (evt.getPropertyName().equals(FILE_FILTER_CHANGED_PROPERTY)) { if (getFileFilter() != null) updateCurrentHandlerHook(); } } };
/** * Returns the default file filter to use. * * @param dialogType the dialog type: open/save * @return the default file filter, null if unable find default one */ protected F getDefaultFileFilter(int dialogType) { List<F> list; if (dialogType == OPEN_DIALOG) list = getOpenFileFilters(); else list = getSaveFileFilters(); if (list.size() > 0) return list.get(0); else return null; }
initGUI(SAVE_DIALOG); currentFilter = getFileFilter(); currentFile = getSelectedFile(); setAcceptAllFileFilterUsed(false); setFileFilter(currentFilter); setSelectedFile(currentFile); currentFilter = getFileFilter(); currentFile = getSelectedFile(); setFileFilter(currentFilter); setSelectedFile(currentFile); removePropertyChangeListener(m_Listener); if (getFileFilter() instanceof ExtensionFileFilter) m_LastFilter = (ExtensionFileFilter) getFileFilter(); else m_LastFilter = null; if (getSelectedFile() != null) configureCurrentHandlerHook(SAVE_DIALOG);
initGUI(OPEN_DIALOG); result = super.showOpenDialog(parent); removePropertyChangeListener(m_Listener); selFile = getSelectedFile(); if ( (result == APPROVE_OPTION) && (getFileMustExist()) && (selFile == null)) { result = showOpenDialog(parent); && (getFileMustExist()) && (selFile != null) && (selFile.isFile()) + "' does not exist - please select again!"); if (retVal == JOptionPane.OK_OPTION) result = showOpenDialog(parent); else result = CANCEL_OPTION; if (getFileFilter() instanceof ExtensionFileFilter) m_LastFilter = (ExtensionFileFilter) getFileFilter(); else m_LastFilter = null; if (getSelectedFile() != null) configureCurrentHandlerHook(OPEN_DIALOG);
list = getOpenFileFilters(); else list = getSaveFileFilters(); if (list.size() > 0) { result = getDefaultFileFilter(dialogType); setFileFilter(result); if (m_LastFilter != null) { for (i = 0; i < list.size(); i++) { if (list.get(i).compareTo(m_LastFilter) == 0) { result = (F) m_LastFilter; setFileFilter(m_LastFilter); break;
/** * Attempts to set the correct file filter for the specified file, using its * extension to determine the file filter. * * @param file the file to set the filter for * @return true if successfully set filter */ public boolean setCorrectOpenFileFilter(File file) { boolean result; String fileExt; result = false; fileExt = FileUtils.getExtension(file); for (F filter: getOpenFileFilters()) { for (String ext: filter.getExtensions()) { if (ext.equals(fileExt)) { setFileFilter(filter); m_LastFilter = filter; result = true; updateCurrentHandlerHook(); break; } } if (result) break; } return result; }
/** * Attempts to set the correct file filter for the specified file, using its * extension to determine the file filter. * * @param file the file to set the filter for * @return true if successfully set filter */ public boolean setCorrectSaveFileFilter(File file) { boolean result; String fileExt; result = false; fileExt = FileUtils.getExtension(file); for (F filter: getSaveFileFilters()) { for (String ext: filter.getExtensions()) { if (ext.equals(fileExt)) { setFileFilter(filter); m_LastFilter = filter; result = true; updateCurrentHandlerHook(); break; } } if (result) break; } return result; }