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,BaseTextComponent,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 FileChooserm_DirectoryChooserthe JFileChooser for selecting a file.protected Stringm_DirectoryChooserTitlethe title to use for the dirchooser.protected Stringm_DirectoryChooserTitleDefaultthe default dirchooser title.protected Map<Class,PlaceholderDirectoryHistory>m_Historythe history of dirs.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 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 voidafterPasteFromClipboard()Hook method after pasting from clipboard.protected voidcopyToClipboard()Copies the current file to the clipboard.protected FiledoChoose()Performs the actual choosing of an object.protected FilefromString(String value)Converts the string representation into its object representation.StringgetChooserType()Returns the type of chooser (description).StringgetCurrentDirectory()Returns the current directory.StringgetDirectoryChooserTitle()Returns the tile for the dirchooser.DirectoryListergetDirectoryLister()Returns the directory lister.FileOperationsgetFileOperations()Returns the file operations.protected BasePopupMenugetPopupMenu()Returns a popup menu when right-clicking on the edit field.booleangetUseAbsolutePath()Returns whether to use absolute paths.protected voidinitialize()Initializes the members.protected booleanisValid(String value)Checks whether the string value is valid and can be parsed.booleansetCurrent(File value)Sets the current value.voidsetCurrentDirectory(String value)Sets the current directory.voidsetDirectoryChooserTitle(String value)Sets the title for the dirchooser.voidsetUseAbsolutePath(boolean value)Sets whether to use absolute paths.protected StringtoString(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, 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, 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:
initializein 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:
doChoosein classAbstractChooserPanel<File>- Returns:
- the chosen object or null if none chosen
-
copyToClipboard
protected void copyToClipboard()
Copies the current file to the clipboard.- Overrides:
copyToClipboardin classAbstractChooserPanel<File>
-
afterPasteFromClipboard
protected void afterPasteFromClipboard()
Hook method after pasting from clipboard.- Overrides:
afterPasteFromClipboardin classAbstractChooserPanel<File>
-
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
-
setCurrentDirectory
public void setCurrentDirectory(String value)
Sets the current directory.- Specified by:
setCurrentDirectoryin classAbstractChooserPanelWithIOSupport<File>- Parameters:
value- the current directory- See Also:
setCurrent(File)
-
getCurrentDirectory
public String getCurrentDirectory()
Returns the current directory.- Specified by:
getCurrentDirectoryin classAbstractChooserPanelWithIOSupport<File>- Returns:
- the current directory
- See Also:
AbstractChooserPanel.getCurrent()
-
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
-
getChooserType
public String getChooserType()
Returns the type of chooser (description).- Specified by:
getChooserTypein classAbstractChooserPanelWithIOSupport<File>- Returns:
- the type
-
getDirectoryLister
public DirectoryLister getDirectoryLister()
Returns the directory lister.- Specified by:
getDirectoryListerin interfaceDirectoryListerHandler- Returns:
- the lister
-
getFileOperations
public FileOperations getFileOperations()
Returns the file operations.- Specified by:
getFileOperationsin interfaceFileOperationsHandler- Returns:
- the operations
-
getPopupMenu
protected BasePopupMenu getPopupMenu()
Returns a popup menu when right-clicking on the edit field.- Overrides:
getPopupMenuin classAbstractChooserPanel<File>- Returns:
- the menu, null if non available
-
-