Class JFileSelector

java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JPanel
se.datadosen.component.JFileSelector
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible

public class JFileSelector
extends javax.swing.JPanel
Component that allows file or folder selection by clicking on it. Fires an ActionEvent if a new file has been chosen and can be synchronized with a companion text component
Since:
11.3
See Also:
Serialized Form
  • Nested Class Summary

    Nested classes/interfaces inherited from class javax.swing.JPanel

    javax.swing.JPanel.AccessibleJPanel

    Nested classes/interfaces inherited from class javax.swing.JComponent

    javax.swing.JComponent.AccessibleJComponent

    Nested classes/interfaces inherited from class java.awt.Container

    java.awt.Container.AccessibleAWTContainer

    Nested classes/interfaces inherited from class java.awt.Component

    java.awt.Component.AccessibleAWTComponent, java.awt.Component.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
  • Field Summary

    Fields 
    Modifier and Type Field Description
    protected javax.swing.JButton button  
    protected java.io.File currentDirectory  
    protected boolean directories  
    protected javax.swing.filechooser.FileNameExtensionFilter fileFilter  
    protected java.io.File selectedFile  
    protected javax.swing.text.JTextComponent textComponent  
    protected java.lang.String title  
    protected boolean urlFormat  

    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
    JFileSelector()  
    JFileSelector​(java.lang.String title)  
    JFileSelector​(java.lang.String title, javax.swing.text.JTextComponent comp)  
    JFileSelector​(javax.swing.text.JTextComponent comp)  
  • Method Summary

    Modifier and Type Method Description
    void addActionListener​(java.awt.event.ActionListener l)  
    protected void fireActionOccured​(java.awt.event.ActionEvent e)  
    javax.swing.filechooser.FileNameExtensionFilter getFileFilter()  
    java.io.File getSelectedFile()  
    javax.swing.text.JTextComponent getTextComponent()  
    java.lang.String getTitle()  
    boolean isDirectories()  
    boolean isURLFormat()  
    void removeActionListener​(java.awt.event.ActionListener l)  
    void setCurrentDirectory​(java.io.File currentDirectory)  
    void setDirectories​(boolean directories)
    Make this selector select directories instead of files
    void setEnabled​(boolean enabled)  
    void setFileFilter​(javax.swing.filechooser.FileNameExtensionFilter fileFilter)  
    void setSelectedFile​(java.io.File selectedFile)  
    void setTextComponent​(javax.swing.text.JTextComponent textComponent)
    Synchronize text component with this file selector
    void setTitle​(java.lang.String title)  
    void setToolTipText​(java.lang.String text)  
    void setURLFormat​(boolean urlFormat)  
    protected void textComponentChanged()  
    java.lang.String toString()  

    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, grabFocus, 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, 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, transferFocus, transferFocusBackward, transferFocusUpCycle

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Field Details

    • title

      protected java.lang.String title
    • selectedFile

      protected java.io.File selectedFile
    • currentDirectory

      protected java.io.File currentDirectory
    • fileFilter

      protected javax.swing.filechooser.FileNameExtensionFilter fileFilter
    • textComponent

      protected javax.swing.text.JTextComponent textComponent
    • button

      protected javax.swing.JButton button
    • directories

      protected boolean directories
    • urlFormat

      protected boolean urlFormat
  • Constructor Details

    • JFileSelector

      public JFileSelector()
    • JFileSelector

      public JFileSelector​(java.lang.String title)
    • JFileSelector

      public JFileSelector​(javax.swing.text.JTextComponent comp)
    • JFileSelector

      public JFileSelector​(java.lang.String title, javax.swing.text.JTextComponent comp)
  • Method Details

    • isURLFormat

      public boolean isURLFormat()
    • setURLFormat

      public void setURLFormat​(boolean urlFormat)
    • textComponentChanged

      protected void textComponentChanged()
    • setTitle

      public void setTitle​(java.lang.String title)
    • getTitle

      public java.lang.String getTitle()
    • isDirectories

      public boolean isDirectories()
    • setDirectories

      public void setDirectories​(boolean directories)
      Make this selector select directories instead of files
      Parameters:
      directories -
    • getTextComponent

      public javax.swing.text.JTextComponent getTextComponent()
    • setTextComponent

      public final void setTextComponent​(javax.swing.text.JTextComponent textComponent)
      Synchronize text component with this file selector
    • toString

      public java.lang.String toString()
      Overrides:
      toString in class java.awt.Component
    • getSelectedFile

      public java.io.File getSelectedFile()
    • setSelectedFile

      public void setSelectedFile​(java.io.File selectedFile)
    • setCurrentDirectory

      public void setCurrentDirectory​(java.io.File currentDirectory)
    • getFileFilter

      public javax.swing.filechooser.FileNameExtensionFilter getFileFilter()
    • setFileFilter

      public void setFileFilter​(javax.swing.filechooser.FileNameExtensionFilter fileFilter)
      Parameters:
      fileFilter -
      Since:
      13.8
    • removeActionListener

      public void removeActionListener​(java.awt.event.ActionListener l)
    • addActionListener

      public void addActionListener​(java.awt.event.ActionListener l)
    • fireActionOccured

      protected void fireActionOccured​(java.awt.event.ActionEvent e)
    • setEnabled

      public void setEnabled​(boolean enabled)
      Overrides:
      setEnabled in class javax.swing.JComponent
    • setToolTipText

      public void setToolTipText​(java.lang.String text)
      Overrides:
      setToolTipText in class javax.swing.JComponent