Package adams.gui.chooser
Class MultipleFileChooserPanel
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JPanel
-
- adams.gui.core.BasePanel
-
- adams.gui.chooser.AbstractChooserPanel<File[]>
-
- adams.gui.chooser.MultipleFileChooserPanel
-
- All Implemented Interfaces:
CleanUpHandler
,AbsolutePathSupporter
,BaseTextComponent
,ImageObserver
,MenuContainer
,Serializable
,Accessible
public class MultipleFileChooserPanel extends AbstractChooserPanel<File[]> implements AbsolutePathSupporter
A panel that contains a text field with the current files and a button for bringing up a BaseFileChooser.- Author:
- fracpete (fracpete at waikato dot ac dot nz)
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class adams.gui.chooser.AbstractChooserPanel
AbstractChooserPanel.ChooseListener, AbstractChooserPanel.PopupMenuCustomizer
-
Nested classes/interfaces inherited from class javax.swing.JPanel
JPanel.AccessibleJPanel
-
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 BaseFileChooser
m_FileChooser
the JFileChooser for selecting files.protected String
m_FileChooserTitle
the title to use for the filechooser.protected String
m_FileChooserTitleDefault
the default filechooser title.protected boolean
m_UseAbsolutePath
whether to use absolute path rather than placeholders.-
Fields inherited from class adams.gui.chooser.AbstractChooserPanel
m_ButtonFavorites, m_ButtonSelection, m_ChangeListeners, m_ChooseListeners, m_ColorInvalid, m_ColorValid, m_Editable, m_InlineEditingEnabled, m_LabelPrefix, m_LabelPrefixSpacer, m_NoChooseYet, m_PanelButtons, m_PanelPrefix, m_PopupMenuCustomizer, m_Self, m_TextSelection, m_ToolTip
-
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
accessibleContext, 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 MultipleFileChooserPanel()
Initializes the panel with no file.MultipleFileChooserPanel(File path)
Initializes the panel with the given filename.MultipleFileChooserPanel(File[] paths)
Initializes the panel with the given filenames.MultipleFileChooserPanel(String path)
Initializes the panel with the given filename.MultipleFileChooserPanel(String[] paths)
Initializes the panel with the given filenames.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addChoosableFileFilter(FileFilter value)
Adds the given file filter to the filechooser.protected void
copyToClipboard()
Copies the current file to the clipboard.protected File[]
doChoose()
Performs the actual choosing of an object.protected File[]
fromString(String value)
Converts the string representation into its object representation.boolean
getAutoAppendExtension()
Returns whether to automatically append the currently selected file extension or the default one (if All-Filter is used).FileFilter[]
getChoosableFileFilters()
Returns all choosable file filters.File
getCurrentDirectory()
Returns the current directory in use by the file chooser.String
getDefaultExtension()
Returns the default extension.String
getFileChooserTitle()
Returns the tile for the filechooser.FileFilter
getFileFilter()
Returns the active file filter.boolean
getUseAbsolutePath()
Returns whether to use absolute paths.protected void
initialize()
Initializes the members.boolean
isAcceptAllFileFilterUsed()
Returns whether the "accept all files" filter is used.protected boolean
isValid(String value)
Checks whether the string value is valid and can be parsed.void
removeChoosableFileFilter(FileFilter value)
Removes the specified file filter from the filechooser.void
removeChoosableFileFilters()
Removes all file filters from the filechooser.void
setAcceptAllFileFilterUsed(boolean value)
Sets whether the "accept all files" filter is used.void
setAutoAppendExtension(boolean value)
Sets whether to automatically append the currently selected file extension or the default one (if All-Filter is used).boolean
setCurrent(File[] value)
Sets the current value.void
setCurrentDirectory(File value)
Sets the current directory to use for the file chooser.void
setDefaultExtension(String value)
Sets the default extension.void
setFileChooserTitle(String value)
Sets the title for the filechooser.void
setFileFilter(FileFilter value)
Sets the active file filter.void
setUseAbsolutePath(boolean value)
Sets whether to use absolute paths.protected static File[]
toFiles(String[] paths)
Turns the string array into a Files one.protected String
toString(File[] value)
Converts the value into its string representation.String
toString(File[] value, boolean useAbsolutePath)
Converts the value into its string representation.-
Methods inherited from class adams.gui.chooser.AbstractChooserPanel
addChangeListener, addChooseListener, afterChoose, afterPasteFromClipboard, afterSetCurrent, beforeChoose, beforePasteFromClipboard, beforeSetCurrent, choose, cleanUp, fireCurrentValueChanged, getCurrent, getCurrentAsString, getDefaultString, getFavoritesClass, getPopupMenu, getPopupMenuCustomizer, getPrefix, getPrefixLabel, getSelectionColumns, getStringFromClipboard, getText, getTextColumns, grabFocus, hasValue, initGUI, isEditable, isInlineEditingEnabled, isNoChooseYet, moveChooseButton, notifyChangeListeners, notifyChooseListeners, pasteFromClipboard, removeChangeListener, removeChooseListener, setCurrentAsString, setDefault, setEditable, setEnabled, setInlineEditingEnabled, setPopupMenuCustomizer, setPrefix, setText, setTextColumns, setToolTipText, showFavoritesMenu, supportsFavorites, textFieldToolTipText, updatePreferredSize, updateValidity
-
Methods inherited from class adams.gui.core.BasePanel
afterHide, afterShow, beforeHide, beforeShow, closeParent, finishInit, getParentChild, getParentDialog, getParentFrame, getParentInternalFrame, getParentTitle, initFileChooser, main, printErrorMessage, printException, saveComponent, setEnabledCascade, setEnabledCascade, setParentTitle, setVisible
-
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, 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, 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, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, 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
-
-
-
-
Field Detail
-
m_FileChooser
protected BaseFileChooser m_FileChooser
the JFileChooser for selecting files.
-
m_FileChooserTitle
protected String m_FileChooserTitle
the title to use for the filechooser.
-
m_FileChooserTitleDefault
protected String m_FileChooserTitleDefault
the default filechooser title.
-
m_UseAbsolutePath
protected boolean m_UseAbsolutePath
whether to use absolute path rather than placeholders.
-
-
Constructor Detail
-
MultipleFileChooserPanel
public MultipleFileChooserPanel()
Initializes the panel with no file.
-
MultipleFileChooserPanel
public MultipleFileChooserPanel(String path)
Initializes the panel with the given filename.- Parameters:
path
- the filename to use
-
MultipleFileChooserPanel
public MultipleFileChooserPanel(String[] paths)
Initializes the panel with the given filenames.- Parameters:
paths
- the filenames to use
-
MultipleFileChooserPanel
public MultipleFileChooserPanel(File path)
Initializes the panel with the given filename.- Parameters:
path
- the filename to use
-
MultipleFileChooserPanel
public MultipleFileChooserPanel(File[] paths)
Initializes the panel with the given filenames.- Parameters:
paths
- the filenames to use
-
-
Method Detail
-
initialize
protected void initialize()
Initializes the members.- Overrides:
initialize
in classAbstractChooserPanel<File[]>
-
setFileChooserTitle
public void setFileChooserTitle(String value)
Sets the title for the filechooser.- Parameters:
value
- the title, null or empty string for default
-
getFileChooserTitle
public String getFileChooserTitle()
Returns the tile for the filechooser.- Returns:
- the title, empty string for default
-
doChoose
protected File[] doChoose()
Performs the actual choosing of an object.- Specified by:
doChoose
in classAbstractChooserPanel<File[]>
- Returns:
- the chosen objects or null if none chosen
-
copyToClipboard
protected void copyToClipboard()
Copies the current file to the clipboard.- Overrides:
copyToClipboard
in classAbstractChooserPanel<File[]>
-
toString
public String toString(File[] value, boolean useAbsolutePath)
Converts the value into its string representation.- Parameters:
value
- the value to convertuseAbsolutePath
- whether to use the absolute path- Returns:
- the generated string
-
toString
protected String toString(File[] value)
Converts the value into its string representation.- Specified by:
toString
in classAbstractChooserPanel<File[]>
- Parameters:
value
- the value to convert- Returns:
- the generated string
-
fromString
protected File[] fromString(String value)
Converts the string representation into its object representation.- Specified by:
fromString
in classAbstractChooserPanel<File[]>
- Parameters:
value
- the string value to convert- Returns:
- the generated object
-
isValid
protected boolean isValid(String value)
Checks whether the string value is valid and can be parsed.- Overrides:
isValid
in classAbstractChooserPanel<File[]>
- Parameters:
value
- the value to check- Returns:
- true if valid
-
setUseAbsolutePath
public void setUseAbsolutePath(boolean value)
Sets whether to use absolute paths.- Specified by:
setUseAbsolutePath
in interfaceAbsolutePathSupporter
- Parameters:
value
- if true if absolute paths
-
getUseAbsolutePath
public boolean getUseAbsolutePath()
Returns whether to use absolute paths.- Specified by:
getUseAbsolutePath
in interfaceAbsolutePathSupporter
- Returns:
- true if absolute paths
-
addChoosableFileFilter
public void addChoosableFileFilter(FileFilter value)
Adds the given file filter to the filechooser.- Parameters:
value
- the file filter to add
-
removeChoosableFileFilter
public void removeChoosableFileFilter(FileFilter value)
Removes the specified file filter from the filechooser.- Parameters:
value
- the file filter to remove
-
removeChoosableFileFilters
public void removeChoosableFileFilters()
Removes all file filters from the filechooser.
-
getChoosableFileFilters
public FileFilter[] getChoosableFileFilters()
Returns all choosable file filters.- Returns:
- the current file filters
-
setAcceptAllFileFilterUsed
public void setAcceptAllFileFilterUsed(boolean value)
Sets whether the "accept all files" filter is used.- Parameters:
value
- if true then the filter will be used
-
isAcceptAllFileFilterUsed
public boolean isAcceptAllFileFilterUsed()
Returns whether the "accept all files" filter is used.- Returns:
- true if the filter is used
-
setFileFilter
public void setFileFilter(FileFilter value)
Sets the active file filter.- Parameters:
value
- the file filter to select
-
getFileFilter
public FileFilter getFileFilter()
Returns the active file filter.- Returns:
- the current file filter
-
setAutoAppendExtension
public void setAutoAppendExtension(boolean value)
Sets whether to automatically append the currently selected file extension or the default one (if All-Filter is used).- Parameters:
value
- if true, then the file extension will be added automatically
-
getAutoAppendExtension
public boolean getAutoAppendExtension()
Returns whether to automatically append the currently selected file extension or the default one (if All-Filter is used).- Returns:
- true if the file extension will be added automatically
-
setDefaultExtension
public void setDefaultExtension(String value)
Sets the default extension. Is used if m_AutoAppendExtension is true and the All-Filter is selected.- Parameters:
value
- the extension (without dot), use null to unset
-
getDefaultExtension
public String getDefaultExtension()
Returns the default extension. Is used if m_AutoAppendExtension is true and the All-Filter is selected.- Returns:
- the extension, can be null
-
setCurrentDirectory
public void setCurrentDirectory(File value)
Sets the current directory to use for the file chooser.- Parameters:
value
- the current directory
-
getCurrentDirectory
public File getCurrentDirectory()
Returns the current directory in use by the file chooser.- Returns:
- the current directory
-
setCurrent
public boolean setCurrent(File[] value)
Sets the current value.- Overrides:
setCurrent
in classAbstractChooserPanel<File[]>
- Parameters:
value
- the value to use, can be null- Returns:
- true if successfully set
-
-