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 BaseFileChooserm_FileChooserthe JFileChooser for selecting files.protected Stringm_FileChooserTitlethe title to use for the filechooser.protected Stringm_FileChooserTitleDefaultthe default filechooser title.protected booleanm_UseAbsolutePathwhether 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 voidaddChoosableFileFilter(FileFilter value)Adds the given file filter to the filechooser.protected voidcopyToClipboard()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.booleangetAutoAppendExtension()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.FilegetCurrentDirectory()Returns the current directory in use by the file chooser.StringgetDefaultExtension()Returns the default extension.StringgetFileChooserTitle()Returns the tile for the filechooser.FileFiltergetFileFilter()Returns the active file filter.booleangetUseAbsolutePath()Returns whether to use absolute paths.protected voidinitialize()Initializes the members.booleanisAcceptAllFileFilterUsed()Returns whether the "accept all files" filter is used.protected booleanisValid(String value)Checks whether the string value is valid and can be parsed.voidremoveChoosableFileFilter(FileFilter value)Removes the specified file filter from the filechooser.voidremoveChoosableFileFilters()Removes all file filters from the filechooser.voidsetAcceptAllFileFilterUsed(boolean value)Sets whether the "accept all files" filter is used.voidsetAutoAppendExtension(boolean value)Sets whether to automatically append the currently selected file extension or the default one (if All-Filter is used).booleansetCurrent(File[] value)Sets the current value.voidsetCurrentDirectory(File value)Sets the current directory to use for the file chooser.voidsetDefaultExtension(String value)Sets the default extension.voidsetFileChooserTitle(String value)Sets the title for the filechooser.voidsetFileFilter(FileFilter value)Sets the active file filter.voidsetUseAbsolutePath(boolean value)Sets whether to use absolute paths.protected static File[]toFiles(String[] paths)Turns the string array into a Files one.protected StringtoString(File[] value)Converts the value into its string representation.StringtoString(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:
initializein 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:
doChoosein classAbstractChooserPanel<File[]>- Returns:
- the chosen objects or null if none chosen
-
copyToClipboard
protected void copyToClipboard()
Copies the current file to the clipboard.- Overrides:
copyToClipboardin 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:
toStringin 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:
fromStringin 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:
isValidin 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:
setUseAbsolutePathin interfaceAbsolutePathSupporter- Parameters:
value- if true if absolute paths
-
getUseAbsolutePath
public boolean getUseAbsolutePath()
Returns whether to use absolute paths.- Specified by:
getUseAbsolutePathin 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:
setCurrentin classAbstractChooserPanel<File[]>- Parameters:
value- the value to use, can be null- Returns:
- true if successfully set
-
-