Package adams.gui.chooser
Class DirectoryChooserPanel
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JPanel
-
- adams.gui.core.BasePanel
-
- adams.gui.chooser.AbstractChooserPanel<T>
-
- adams.gui.chooser.AbstractChooserPanelWithIOSupport<File>
-
- adams.gui.chooser.DirectoryChooserPanel
-
- All Implemented Interfaces:
CleanUpHandler
,AbsolutePathSupporter
,FileOperationsHandler
,DirectoryListerHandler
,ImageObserver
,MenuContainer
,Serializable
,Accessible
public class DirectoryChooserPanel extends AbstractChooserPanelWithIOSupport<File> implements AbsolutePathSupporter
A panel that contains a text field with the current directory and a button for bringing up a BaseDirectoryChooser.- 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 FileChooser
m_DirectoryChooser
the JFileChooser for selecting a file.protected String
m_DirectoryChooserTitle
the title to use for the dirchooser.protected String
m_DirectoryChooserTitleDefault
the default dirchooser title.protected Map<Class,PlaceholderDirectoryHistory>
m_History
the history of dirs.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 adams.gui.core.BasePanel
m_FileChooser
-
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 DirectoryChooserPanel()
Initializes the panel with no file.DirectoryChooserPanel(File path)
Initializes the panel with the given filename/directory.DirectoryChooserPanel(String path)
Initializes the panel with the given filename/directory.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
afterPasteFromClipboard()
Hook method after pasting from clipboard.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.String
getChooserType()
Returns the type of chooser (description).String
getCurrentDirectory()
Returns the current directory.String
getDirectoryChooserTitle()
Returns the tile for the dirchooser.DirectoryLister
getDirectoryLister()
Returns the directory lister.FileOperations
getFileOperations()
Returns the file operations.protected BasePopupMenu
getPopupMenu()
Returns a popup menu when right-clicking on the edit field.boolean
getUseAbsolutePath()
Returns whether to use absolute paths.protected void
initialize()
Initializes the members.protected boolean
isValid(String value)
Checks whether the string value is valid and can be parsed.boolean
setCurrent(File value)
Sets the current value.void
setCurrentDirectory(String value)
Sets the current directory.void
setDirectoryChooserTitle(String value)
Sets the title for the dirchooser.void
setUseAbsolutePath(boolean value)
Sets whether to use absolute paths.protected String
toString(File value)
Converts the value into its string representation.-
Methods inherited from class adams.gui.chooser.AbstractChooserPanelWithIOSupport
getChoosers, toString
-
Methods inherited from class adams.gui.chooser.AbstractChooserPanel
addChangeListener, addChooseListener, afterChoose, afterSetCurrent, beforeChoose, beforePasteFromClipboard, beforeSetCurrent, choose, cleanUp, fireCurrentValueChanged, getCurrent, getCurrentAsString, getDefaultString, getFavoritesClass, getPopupMenuCustomizer, getPrefix, getPrefixLabel, getSelectionColumns, getStringFromClipboard, getTextColumns, grabFocus, hasValue, initGUI, isEditable, isInlineEditingEnabled, isNoChooseYet, moveChooseButton, notifyChangeListeners, notifyChooseListeners, pasteFromClipboard, removeChangeListener, removeChooseListener, setCurrentAsString, setDefault, setEditable, setEnabled, setInlineEditingEnabled, setPopupMenuCustomizer, setPrefix, 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, transferFocus, transferFocusBackward, transferFocusUpCycle
-
-
-
-
Field Detail
-
m_DirectoryChooser
protected FileChooser m_DirectoryChooser
the JFileChooser for selecting a file.
-
m_History
protected Map<Class,PlaceholderDirectoryHistory> m_History
the history of dirs.
-
m_DirectoryChooserTitle
protected String m_DirectoryChooserTitle
the title to use for the dirchooser.
-
m_DirectoryChooserTitleDefault
protected String m_DirectoryChooserTitleDefault
the default dirchooser title.
-
m_UseAbsolutePath
protected boolean m_UseAbsolutePath
whether to use absolute path rather than placeholders.
-
-
Constructor Detail
-
DirectoryChooserPanel
public DirectoryChooserPanel()
Initializes the panel with no file.
-
DirectoryChooserPanel
public DirectoryChooserPanel(String path)
Initializes the panel with the given filename/directory.- Parameters:
path
- the filename/directory to use
-
DirectoryChooserPanel
public DirectoryChooserPanel(File path)
Initializes the panel with the given filename/directory.- Parameters:
path
- the filename/directory to use
-
-
Method Detail
-
initialize
protected void initialize()
Initializes the members.- Overrides:
initialize
in classAbstractChooserPanel<File>
-
setDirectoryChooserTitle
public void setDirectoryChooserTitle(String value)
Sets the title for the dirchooser.- Parameters:
value
- the title, null or empty string for default
-
getDirectoryChooserTitle
public String getDirectoryChooserTitle()
Returns the tile for the dirchooser.- 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 object or null if none chosen
-
copyToClipboard
protected void copyToClipboard()
Copies the current file to the clipboard.- Overrides:
copyToClipboard
in classAbstractChooserPanel<File>
-
afterPasteFromClipboard
protected void afterPasteFromClipboard()
Hook method after pasting from clipboard.- Overrides:
afterPasteFromClipboard
in classAbstractChooserPanel<File>
-
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
-
setCurrentDirectory
public void setCurrentDirectory(String value)
Sets the current directory.- Specified by:
setCurrentDirectory
in classAbstractChooserPanelWithIOSupport<File>
- Parameters:
value
- the current directory- See Also:
setCurrent(File)
-
getCurrentDirectory
public String getCurrentDirectory()
Returns the current directory.- Specified by:
getCurrentDirectory
in classAbstractChooserPanelWithIOSupport<File>
- Returns:
- the current directory
- See Also:
AbstractChooserPanel.getCurrent()
-
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
-
getChooserType
public String getChooserType()
Returns the type of chooser (description).- Specified by:
getChooserType
in classAbstractChooserPanelWithIOSupport<File>
- Returns:
- the type
-
getDirectoryLister
public DirectoryLister getDirectoryLister()
Returns the directory lister.- Specified by:
getDirectoryLister
in interfaceDirectoryListerHandler
- Returns:
- the lister
-
getFileOperations
public FileOperations getFileOperations()
Returns the file operations.- Specified by:
getFileOperations
in interfaceFileOperationsHandler
- Returns:
- the operations
-
getPopupMenu
protected BasePopupMenu getPopupMenu()
Returns a popup menu when right-clicking on the edit field.- Overrides:
getPopupMenu
in classAbstractChooserPanel<File>
- Returns:
- the menu, null if non available
-
-