Package adams.gui.chooser
Class SerializationFileChooser
- java.lang.Object
-
- All Implemented Interfaces:
FileChooser,ImageObserver,MenuContainer,Serializable,Accessible
public class SerializationFileChooser extends AbstractConfigurableExtensionFileFilterFileChooser<AbstractObjectReader,AbstractObjectWriter>
A file chooser for serializable objects.- Author:
- fracpete (fracpete at waikato dot ac dot nz)
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class javax.swing.JFileChooser
JFileChooser.AccessibleJFileChooser
-
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
-
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
-
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
-
-
Field Summary
Fields Modifier and Type Field Description protected static List<ExtensionFileFilterWithClass>m_ReaderFileFiltersthe file filters for the readers.protected static List<ExtensionFileFilterWithClass>m_WriterFileFiltersthe file filters for the writers.-
Fields inherited from class adams.gui.chooser.AbstractConfigurableExtensionFileFilterFileChooser
m_CheckBoxOptions, m_Editor, m_LastOpenHandler, m_LastSaveHandler
-
Fields inherited from class adams.gui.chooser.AbstractExtensionFileFilterFileChooser
m_CurrentHandler, m_DialogType, m_FileMustExist, m_LastFilter, m_Listener, UNHANDLED_DIALOG
-
Fields inherited from class adams.gui.chooser.BaseFileChooser
m_AllowGlobFilters, m_AutoAppendExtension, m_DefaultExtension, m_PanelBookmarks, m_PanelBookmarksAndFilter, m_PanelFilter, m_PromptOverwriteFile
-
Fields inherited from class javax.swing.JFileChooser
ACCEPT_ALL_FILE_FILTER_USED_CHANGED_PROPERTY, accessibleContext, ACCESSORY_CHANGED_PROPERTY, APPROVE_BUTTON_MNEMONIC_CHANGED_PROPERTY, APPROVE_BUTTON_TEXT_CHANGED_PROPERTY, APPROVE_BUTTON_TOOL_TIP_TEXT_CHANGED_PROPERTY, APPROVE_OPTION, APPROVE_SELECTION, CANCEL_OPTION, CANCEL_SELECTION, CHOOSABLE_FILE_FILTER_CHANGED_PROPERTY, CONTROL_BUTTONS_ARE_SHOWN_CHANGED_PROPERTY, CUSTOM_DIALOG, DIALOG_TITLE_CHANGED_PROPERTY, DIALOG_TYPE_CHANGED_PROPERTY, DIRECTORIES_ONLY, DIRECTORY_CHANGED_PROPERTY, ERROR_OPTION, FILE_FILTER_CHANGED_PROPERTY, FILE_HIDING_CHANGED_PROPERTY, FILE_SELECTION_MODE_CHANGED_PROPERTY, FILE_SYSTEM_VIEW_CHANGED_PROPERTY, FILE_VIEW_CHANGED_PROPERTY, FILES_AND_DIRECTORIES, FILES_ONLY, MULTI_SELECTION_ENABLED_CHANGED_PROPERTY, OPEN_DIALOG, SAVE_DIALOG, SELECTED_FILE_CHANGED_PROPERTY, SELECTED_FILES_CHANGED_PROPERTY
-
Fields inherited from class javax.swing.JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
-
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
-
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
-
-
Constructor Summary
Constructors Constructor Description SerializationFileChooser()Constructs aObjectFileChooserpointing to the user's default directory.SerializationFileChooser(File currentDirectory)Constructs aObjectFileChooserusing the givenFileas the path.SerializationFileChooser(String currentDirectoryPath)Constructs aObjectFileChooserusing the given path.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voiddoInitializeFilters()Performs the actual initialization of the filters.protected ExtensionFileFilterWithClassgetDefaultFileFilter(int dialogType)Returns the default file filter to use.protected AbstractObjectReadergetDefaultReader()Returns the default reader.protected AbstractObjectWritergetDefaultWriter()Returns the default writer.protected booleangetFiltersInitialized()Returns whether the filters have already been initialized.AbstractObjectReadergetObjectReader()Returns the current object reader.AbstractObjectWritergetObjectWriter()Returns the current object writer.protected List<ExtensionFileFilterWithClass>getOpenFileFilters()Returns the file filters for opening files.protected ClassgetReaderClass()Returns the reader superclass for the GOE.AbstractObjectReadergetReaderForFile(File file)Returns the reader for the specified file.protected List<ExtensionFileFilterWithClass>getSaveFileFilters()Returns the file filters for writing files.protected ClassgetWriterClass()Returns the writer superclass for the GOE.AbstractObjectWritergetWriterForFile(File file)Returns the writer for the specified file.protected static voidinitializeFilters()Performs the actual initialization of the filters.static AbstractObjectReaderreaderForFile(File file)Returns the reader for the specified file.static AbstractObjectWriterwriterForFile(File file)Returns the writer for the specified file.-
Methods inherited from class adams.gui.chooser.AbstractConfigurableExtensionFileFilterFileChooser
configureCurrentHandlerHook, createAccessoryPanel, getEditor, getReader, getWriter, initGUI, initialize, setCorrectOpenFileFilter, setCorrectSaveFileFilter, setReader, setWriter, showOpenDialog, showSaveDialog, updateCurrentHandlerHook
-
Methods inherited from class adams.gui.chooser.AbstractExtensionFileFilterFileChooser
getDialogType, getFileMustExist, initializeFilters, isAllFilter, restoreLastFilter, setAcceptAllFileFilterUsed, setFileMustExist, showDialog
-
Methods inherited from class adams.gui.chooser.BaseFileChooser
accept, addChoosableFileFilter, checkFilter, findExistingDir, fixPrefix, getAllowGlobFilters, getAutoAppendExtension, getCurrentPlaceholderDirectory, getDefaultAccessoryDimension, getDefaultExtension, getPromptOverwriteFile, getSelectedFiles, getSelectedPlaceholderFile, getSelectedPlaceholderFiles, handleException, hasCorrectExtension, isGlobFilter, isJComponent, setAllowGlobFilters, setAutoAppendExtension, setCurrentDirectory, setDefaultExtension, setFileFilter, setPromptOverwriteFile, setSelectedFile, setSelectedFiles
-
Methods inherited from class javax.swing.JFileChooser
addActionListener, approveSelection, cancelSelection, changeToParentDirectory, createDialog, ensureFileIsVisible, fireActionPerformed, getAcceptAllFileFilter, getAccessibleContext, getAccessory, getActionListeners, getApproveButtonMnemonic, getApproveButtonText, getApproveButtonToolTipText, getChoosableFileFilters, getControlButtonsAreShown, getCurrentDirectory, getDescription, getDialogTitle, getDragEnabled, getFileFilter, getFileSelectionMode, getFileSystemView, getFileView, getIcon, getName, getSelectedFile, getTypeDescription, getUI, getUIClassID, isAcceptAllFileFilterUsed, isDirectorySelectionEnabled, isFileHidingEnabled, isFileSelectionEnabled, isMultiSelectionEnabled, isTraversable, paramString, removeActionListener, removeChoosableFileFilter, rescanCurrentDirectory, resetChoosableFileFilters, setAccessory, setApproveButtonMnemonic, setApproveButtonMnemonic, setApproveButtonText, setApproveButtonToolTipText, setControlButtonsAreShown, setDialogTitle, setDialogType, setDragEnabled, setFileHidingEnabled, setFileSelectionMode, setFileSystemView, setFileView, setMultiSelectionEnabled, setup, updateUI
-
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
-
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate, validateTree
-
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface adams.gui.chooser.FileChooser
addActionListener, approveSelection, cancelSelection, changeToParentDirectory, ensureFileIsVisible, getAcceptAllFileFilter, getAccessory, getActionListeners, getApproveButtonMnemonic, getApproveButtonText, getApproveButtonToolTipText, getChoosableFileFilters, getControlButtonsAreShown, getCurrentDirectory, getDescription, getDialogTitle, getDragEnabled, getFileFilter, getFileSelectionMode, getFileSystemView, getFileView, getIcon, getName, getSelectedFile, getTypeDescription, isAcceptAllFileFilterUsed, isDirectorySelectionEnabled, isFileHidingEnabled, isFileSelectionEnabled, isMultiSelectionEnabled, isTraversable, removeActionListener, removeChoosableFileFilter, rescanCurrentDirectory, resetChoosableFileFilters, setAccessory, setApproveButtonMnemonic, setApproveButtonMnemonic, setApproveButtonText, setApproveButtonToolTipText, setControlButtonsAreShown, setDialogTitle, setDialogType, setDragEnabled, setFileHidingEnabled, setFileSelectionMode, setFileSystemView, setFileView, setMultiSelectionEnabled
-
-
-
-
Field Detail
-
m_ReaderFileFilters
protected static List<ExtensionFileFilterWithClass> m_ReaderFileFilters
the file filters for the readers.
-
m_WriterFileFilters
protected static List<ExtensionFileFilterWithClass> m_WriterFileFilters
the file filters for the writers.
-
-
Constructor Detail
-
SerializationFileChooser
public SerializationFileChooser()
Constructs aObjectFileChooserpointing to the user's default directory. This default depends on the operating system. It is typically the "My Documents" folder on Windows, and the user's home directory on Unix.
-
SerializationFileChooser
public SerializationFileChooser(String currentDirectoryPath)
Constructs aObjectFileChooserusing the given path. Passing in anullstring causes the file chooser to point to the user's default directory. This default depends on the operating system. It is typically the "My Documents" folder on Windows, and the user's home directory on Unix.- Parameters:
currentDirectoryPath- aStringgiving the path to a file or directory
-
SerializationFileChooser
public SerializationFileChooser(File currentDirectory)
Constructs aObjectFileChooserusing the givenFileas the path. Passing in anullfile causes the file chooser to point to the user's default directory. This default depends on the operating system. It is typically the "My Documents" folder on Windows, and the user's home directory on Unix.- Parameters:
currentDirectory- aFileobject specifying the path to a file or directory
-
-
Method Detail
-
getOpenFileFilters
protected List<ExtensionFileFilterWithClass> getOpenFileFilters()
Returns the file filters for opening files.- Specified by:
getOpenFileFiltersin classAbstractConfigurableExtensionFileFilterFileChooser<AbstractObjectReader,AbstractObjectWriter>- Returns:
- the file filters
-
getSaveFileFilters
protected List<ExtensionFileFilterWithClass> getSaveFileFilters()
Returns the file filters for writing files.- Specified by:
getSaveFileFiltersin classAbstractConfigurableExtensionFileFilterFileChooser<AbstractObjectReader,AbstractObjectWriter>- Returns:
- the file filters
-
getDefaultFileFilter
protected ExtensionFileFilterWithClass getDefaultFileFilter(int dialogType)
Returns the default file filter to use.- Overrides:
getDefaultFileFilterin classAbstractConfigurableExtensionFileFilterFileChooser<AbstractObjectReader,AbstractObjectWriter>- Parameters:
dialogType- the dialog type: open/save- Returns:
- the default file filter, null if unable find default one
-
getObjectReader
public AbstractObjectReader getObjectReader()
Returns the current object reader.- Returns:
- the object reader, null if not applicable
-
getObjectWriter
public AbstractObjectWriter getObjectWriter()
Returns the current object writer.- Returns:
- the object writer, null if not applicable
-
getFiltersInitialized
protected boolean getFiltersInitialized()
Returns whether the filters have already been initialized.- Specified by:
getFiltersInitializedin classAbstractConfigurableExtensionFileFilterFileChooser<AbstractObjectReader,AbstractObjectWriter>- Returns:
- true if the filters have been initialized
-
doInitializeFilters
protected void doInitializeFilters()
Performs the actual initialization of the filters.- Specified by:
doInitializeFiltersin classAbstractConfigurableExtensionFileFilterFileChooser<AbstractObjectReader,AbstractObjectWriter>
-
initializeFilters
protected static void initializeFilters()
Performs the actual initialization of the filters.
-
getDefaultReader
protected AbstractObjectReader getDefaultReader()
Returns the default reader.- Specified by:
getDefaultReaderin classAbstractConfigurableExtensionFileFilterFileChooser<AbstractObjectReader,AbstractObjectWriter>- Returns:
- the default reader
-
getDefaultWriter
protected AbstractObjectWriter getDefaultWriter()
Returns the default writer.- Specified by:
getDefaultWriterin classAbstractConfigurableExtensionFileFilterFileChooser<AbstractObjectReader,AbstractObjectWriter>- Returns:
- the default writer
-
getReaderForFile
public AbstractObjectReader getReaderForFile(File file)
Returns the reader for the specified file.- Parameters:
file- the file to determine a reader for- Returns:
- the reader, null if none found
-
getWriterForFile
public AbstractObjectWriter getWriterForFile(File file)
Returns the writer for the specified file.- Parameters:
file- the file to determine a reader for- Returns:
- the writer, null if none found
-
getReaderClass
protected Class getReaderClass()
Returns the reader superclass for the GOE.- Specified by:
getReaderClassin classAbstractConfigurableExtensionFileFilterFileChooser<AbstractObjectReader,AbstractObjectWriter>- Returns:
- the reader class
-
getWriterClass
protected Class getWriterClass()
Returns the writer superclass for the GOE.- Specified by:
getWriterClassin classAbstractConfigurableExtensionFileFilterFileChooser<AbstractObjectReader,AbstractObjectWriter>- Returns:
- the writer class
-
readerForFile
public static AbstractObjectReader readerForFile(File file)
Returns the reader for the specified file.- Parameters:
file- the file to determine a reader for- Returns:
- the reader, null if none found
-
writerForFile
public static AbstractObjectWriter writerForFile(File file)
Returns the writer for the specified file.- Parameters:
file- the file to determine a reader for- Returns:
- the writer, null if none found
-
-