Package adams.gui.chooser
Class ImageFileChooser
-
- All Implemented Interfaces:
FileChooser
,ImageObserver
,MenuContainer
,Serializable
,Accessible
public class ImageFileChooser extends AbstractConfigurableExtensionFileFilterFileChooser<ImageReader,ImageWriter>
A file chooser for images.- 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 BaseCheckBox
m_CheckBoxPreview
the checkbox for bringing up the GenericObjectEditor.protected ImagePreview
m_ImagePreview
the image preview.protected static List<ExtensionFileFilterWithClass>
m_ReaderFileFilters
the file filters for the readers.protected static List<ExtensionFileFilterWithClass>
m_WriterFileFilters
the 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 ImageFileChooser()
Constructs aImageFileChooser
pointing to the user's default directory.ImageFileChooser(File currentDirectory)
Constructs aImageFileChooser
using the givenFile
as the path.ImageFileChooser(String currentDirectoryPath)
Constructs aImageFileChooser
using the given path.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected JComponent
createAccessoryPanel()
Creates an accessory panel displayed next to the files.protected void
doInitializeFilters()
Performs the actual initialization of the filters.protected ExtensionFileFilterWithClass
getDefaultFileFilter(int dialogType)
Returns the default file filter to use.protected ImageReader
getDefaultReader()
Returns the default reader.protected ImageWriter
getDefaultWriter()
Returns the default writer.protected boolean
getFiltersInitialized()
Returns whether the filters have already been initialized.ImageReader
getImageReader()
Returns the current image reader.ImageWriter
getImageWriter()
Returns the current image writer.protected List<ExtensionFileFilterWithClass>
getOpenFileFilters()
Returns the file filters for opening files.protected Class
getReaderClass()
Returns the reader superclass for the GOE.ImageReader
getReaderForFile(File file)
Returns the reader for the specified file.protected List<ExtensionFileFilterWithClass>
getSaveFileFilters()
Returns the file filters for writing files.protected Class
getWriterClass()
Returns the writer superclass for the GOE.ImageWriter
getWriterForFile(File file)
Returns the writer for the specified file.protected static void
initFilters(boolean reader, String[] classnames)
initializes the Filters.static ImageReader
readerForFile(File file)
Returns the reader for the specified file.static ImageWriter
writerForFile(File file)
Returns the writer for the specified file.-
Methods inherited from class adams.gui.chooser.AbstractConfigurableExtensionFileFilterFileChooser
configureCurrentHandlerHook, 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_CheckBoxPreview
protected BaseCheckBox m_CheckBoxPreview
the checkbox for bringing up the GenericObjectEditor.
-
m_ImagePreview
protected ImagePreview m_ImagePreview
the image preview.
-
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
-
ImageFileChooser
public ImageFileChooser()
Constructs aImageFileChooser
pointing 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.
-
ImageFileChooser
public ImageFileChooser(String currentDirectoryPath)
Constructs aImageFileChooser
using the given path. Passing in anull
string 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
- aString
giving the path to a file or directory
-
ImageFileChooser
public ImageFileChooser(File currentDirectory)
Constructs aImageFileChooser
using the givenFile
as the path. Passing in anull
file 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
- aFile
object specifying the path to a file or directory
-
-
Method Detail
-
createAccessoryPanel
protected JComponent createAccessoryPanel()
Creates an accessory panel displayed next to the files.- Overrides:
createAccessoryPanel
in classAbstractConfigurableExtensionFileFilterFileChooser<ImageReader,ImageWriter>
- Returns:
- the panel or null if none available
-
getDefaultFileFilter
protected ExtensionFileFilterWithClass getDefaultFileFilter(int dialogType)
Returns the default file filter to use.- Overrides:
getDefaultFileFilter
in classAbstractConfigurableExtensionFileFilterFileChooser<ImageReader,ImageWriter>
- Parameters:
dialogType
- the dialog type: open/save- Returns:
- the default file filter, null if unable find default one
-
getOpenFileFilters
protected List<ExtensionFileFilterWithClass> getOpenFileFilters()
Returns the file filters for opening files.- Specified by:
getOpenFileFilters
in classAbstractConfigurableExtensionFileFilterFileChooser<ImageReader,ImageWriter>
- Returns:
- the file filters
-
getSaveFileFilters
protected List<ExtensionFileFilterWithClass> getSaveFileFilters()
Returns the file filters for writing files.- Specified by:
getSaveFileFilters
in classAbstractConfigurableExtensionFileFilterFileChooser<ImageReader,ImageWriter>
- Returns:
- the file filters
-
getImageReader
public ImageReader getImageReader()
Returns the current image reader.- Returns:
- the image reader, null if not applicable
-
getImageWriter
public ImageWriter getImageWriter()
Returns the current image writer.- Returns:
- the image writer, null if not applicable
-
getFiltersInitialized
protected boolean getFiltersInitialized()
Returns whether the filters have already been initialized.- Specified by:
getFiltersInitialized
in classAbstractConfigurableExtensionFileFilterFileChooser<ImageReader,ImageWriter>
- Returns:
- true if the filters have been initialized
-
doInitializeFilters
protected void doInitializeFilters()
Performs the actual initialization of the filters.- Specified by:
doInitializeFilters
in classAbstractConfigurableExtensionFileFilterFileChooser<ImageReader,ImageWriter>
-
initFilters
protected static void initFilters(boolean reader, String[] classnames)
initializes the Filters.- Parameters:
reader
- if true then the reader filters are initializedclassnames
- the classnames of the converters
-
getDefaultReader
protected ImageReader getDefaultReader()
Returns the default reader.- Specified by:
getDefaultReader
in classAbstractConfigurableExtensionFileFilterFileChooser<ImageReader,ImageWriter>
- Returns:
- the default reader
-
getDefaultWriter
protected ImageWriter getDefaultWriter()
Returns the default writer.- Specified by:
getDefaultWriter
in classAbstractConfigurableExtensionFileFilterFileChooser<ImageReader,ImageWriter>
- Returns:
- the default writer
-
getReaderForFile
public ImageReader 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 ImageWriter 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:
getReaderClass
in classAbstractConfigurableExtensionFileFilterFileChooser<ImageReader,ImageWriter>
- Returns:
- the reader class
-
getWriterClass
protected Class getWriterClass()
Returns the writer superclass for the GOE.- Specified by:
getWriterClass
in classAbstractConfigurableExtensionFileFilterFileChooser<ImageReader,ImageWriter>
- Returns:
- the writer class
-
readerForFile
public static ImageReader 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 ImageWriter 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
-
-