Class FileSuggestField
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JComboBox<T>
-
- io.github.jonestimd.swing.component.BeanListComboBox<T>
-
- io.github.jonestimd.swing.component.SuggestField<java.io.File>
-
- io.github.jonestimd.swing.component.FileSuggestField
-
- All Implemented Interfaces:
ValidatedComponent
,java.awt.event.ActionListener
,java.awt.image.ImageObserver
,java.awt.ItemSelectable
,java.awt.MenuContainer
,java.io.Serializable
,java.util.EventListener
,javax.accessibility.Accessible
,javax.swing.event.ListDataListener
public class FileSuggestField extends SuggestField<java.io.File>
File selection field that displays files and sub-directories in a popup menu.- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class io.github.jonestimd.swing.component.BeanListComboBox
BeanListComboBox.Builder<T>
-
Nested classes/interfaces inherited from class javax.swing.JComboBox
javax.swing.JComboBox.AccessibleJComboBox, javax.swing.JComboBox.KeySelectionManager
-
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
-
-
Field Summary
Fields Modifier and Type Field Description static int
DEFAULT_PARENT_DEPTH
-
Fields inherited from class javax.swing.JComboBox
actionCommand, dataModel, editor, isEditable, keySelectionManager, lightWeightPopupEnabled, maximumRowCount, renderer, selectedItemReminder
-
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
-
Fields inherited from interface io.github.jonestimd.swing.validation.ValidatedComponent
VALIDATION_MESSAGES
-
-
Constructor Summary
Constructors Constructor Description FileSuggestField(boolean onlyDirectories, java.io.File startDirectory)
Create a FileSuggestField starting at a specific directory and using the default parent depth.FileSuggestField(boolean onlyDirectories, java.io.File startDirectory, java.lang.String requiredMessage)
Create a FileSuggestField starting at a specific directory and using the default parent depth.FileSuggestField(int parentDepth, boolean onlyDirectories, java.io.File startDirectory)
Create a FileSuggestField starting at a specific directory.FileSuggestField(int parentDepth, boolean onlyDirectories, java.io.File startDirectory, java.lang.String requiredMessage)
Create a FileSuggestField starting at a specific directory.FileSuggestField(int parentDepth, java.util.function.Predicate<java.io.File> filePredicate, java.io.File startDirectory, Validator<java.lang.String> validator)
Create a filtered FileSuggestField.FileSuggestField(java.util.function.Predicate<java.io.File> filePredicate, java.io.File startDirectory, Validator<java.lang.String> validator)
Create a filtered FileSuggestField using the default parent depth.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
configureEditor(javax.swing.ComboBoxEditor anEditor, java.lang.Object anItem)
protected void
processEditorKeyEvent(java.awt.event.KeyEvent event)
-
Methods inherited from class io.github.jonestimd.swing.component.SuggestField
getModel
-
Methods inherited from class io.github.jonestimd.swing.component.BeanListComboBox
addValidationListener, builder, builder, builder, builder, builder, getEditorComponent, getEditorText, getSelectedIndex, getSelectedItem, getValidationMessages, removeValidationListener, selectedItemChanged, setEnabled, setKeySelectionManager, setModel, setValidator, validateValue
-
Methods inherited from class javax.swing.JComboBox
actionPerformed, actionPropertyChanged, addActionListener, addItem, addItemListener, addPopupMenuListener, configurePropertiesFromAction, contentsChanged, createActionPropertyChangeListener, createDefaultKeySelectionManager, fireActionEvent, fireItemStateChanged, firePopupMenuCanceled, firePopupMenuWillBecomeInvisible, firePopupMenuWillBecomeVisible, getAccessibleContext, getAction, getActionCommand, getActionListeners, getEditor, getItemAt, getItemCount, getItemListeners, getKeySelectionManager, getMaximumRowCount, getPopupMenuListeners, getPrototypeDisplayValue, getRenderer, getSelectedObjects, getUI, getUIClassID, hidePopup, insertItemAt, installAncestorListener, intervalAdded, intervalRemoved, isEditable, isLightWeightPopupEnabled, isPopupVisible, paramString, processKeyBinding, processKeyEvent, removeActionListener, removeAllItems, removeItem, removeItemAt, removeItemListener, removePopupMenuListener, selectWithKeyChar, setAction, setActionCommand, setEditable, setEditor, setKeySelectionManager, setLightWeightPopupEnabled, setMaximumRowCount, setPopupVisible, setPrototypeDisplayValue, setRenderer, setSelectedIndex, setSelectedItem, setUI, showPopup, 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, 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, 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 io.github.jonestimd.swing.validation.ValidatedComponent
isVisible
-
-
-
-
Field Detail
-
DEFAULT_PARENT_DEPTH
public static final int DEFAULT_PARENT_DEPTH
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
FileSuggestField
public FileSuggestField(boolean onlyDirectories, java.io.File startDirectory) throws java.io.IOException
Create a FileSuggestField starting at a specific directory and using the default parent depth.- Parameters:
onlyDirectories
-true
to only list directoriesstartDirectory
- the starting directory- Throws:
java.io.IOException
-
FileSuggestField
public FileSuggestField(int parentDepth, boolean onlyDirectories, java.io.File startDirectory) throws java.io.IOException
Create a FileSuggestField starting at a specific directory.- Parameters:
parentDepth
- the number of parent directories to display in the drop down menu (if less than 1, displays the full path)onlyDirectories
-true
to only list directoriesstartDirectory
- the starting directory- Throws:
java.io.IOException
-
FileSuggestField
public FileSuggestField(boolean onlyDirectories, java.io.File startDirectory, java.lang.String requiredMessage) throws java.io.IOException
Create a FileSuggestField starting at a specific directory and using the default parent depth.- Parameters:
onlyDirectories
-true
to only list directoriesstartDirectory
- the starting directoryrequiredMessage
- the message to display when the editor is empty- Throws:
java.io.IOException
-
FileSuggestField
public FileSuggestField(int parentDepth, boolean onlyDirectories, java.io.File startDirectory, java.lang.String requiredMessage) throws java.io.IOException
Create a FileSuggestField starting at a specific directory.- Parameters:
parentDepth
- the number of parent directories to display in the drop down menu (if less than 1, displays the full path)onlyDirectories
-true
to only list directoriesstartDirectory
- the starting directoryrequiredMessage
- the message to display when the editor is empty- Throws:
java.io.IOException
-
FileSuggestField
public FileSuggestField(java.util.function.Predicate<java.io.File> filePredicate, java.io.File startDirectory, Validator<java.lang.String> validator) throws java.io.IOException
Create a filtered FileSuggestField using the default parent depth.- Parameters:
filePredicate
- only display files and directories matching this predicatestartDirectory
- the starting directoryvalidator
- the validator for the editor component- Throws:
java.io.IOException
-
FileSuggestField
public FileSuggestField(int parentDepth, java.util.function.Predicate<java.io.File> filePredicate, java.io.File startDirectory, Validator<java.lang.String> validator) throws java.io.IOException
Create a filtered FileSuggestField.- Parameters:
parentDepth
- the number of parent directories to display in the drop down menu (if less than 1, displays the full path)filePredicate
- only display files and directories matching this predicatestartDirectory
- the starting directoryvalidator
- the validator for the editor component- Throws:
java.io.IOException
-
-
Method Detail
-
configureEditor
public void configureEditor(javax.swing.ComboBoxEditor anEditor, java.lang.Object anItem)
- Overrides:
configureEditor
in classjavax.swing.JComboBox<java.io.File>
-
processEditorKeyEvent
protected void processEditorKeyEvent(java.awt.event.KeyEvent event)
- Overrides:
processEditorKeyEvent
in classSuggestField<java.io.File>
-
-