com.gridsystems.config.tools.swing
Class FileChooserField

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JPanel
                  extended by com.gridsystems.config.tools.swing.PopupTextField
                      extended by com.gridsystems.config.tools.swing.FileChooserField
All Implemented Interfaces:
java.awt.event.FocusListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible

public class FileChooserField
extends PopupTextField

Manages a file value asking the user through a file system browser.

Author:
SJM
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
static int DIRECTORIES_ONLY
          Allows selecting only files directories.
static int FILES_AND_DIRECTORIES
          Allows selecting both files and directories.
static int FILES_ONLY
          Allows selecting only files.
static int TYPE_OPEN
          Opens the popup as an "Open" file menu (chose an existing file.
static int TYPE_SAVE
          Opens the popup as a "Save" file menu (chose an existing file.
 
Fields inherited from class javax.swing.JComponent
accessibleContext, 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
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
FileChooserField()
          Constructor.
FileChooserField(int mode)
          Constructor.
FileChooserField(java.lang.String initialSelection)
          Constructor.
FileChooserField(java.lang.String initialSelection, int mode)
          Constructor.
 
Method Summary
 java.io.File getFile()
          Gets the selected file.
 javax.swing.filechooser.FileFilter getFilter()
          Gets the filter for the files to be displayed at the file system browser.
 int getMode()
          Gets the mode of selection of files.
 int getType()
          Gets the type of menu to show.
protected  void openPopup()
          Opens the file chooser dialog.
 void setFilter(javax.swing.filechooser.FileFilter fileFilter)
          Sets a filter for the files to be displayed at the file system browser.
 void setMode(int mode)
          Sets the mode of selection of files.
 void setType(int type)
          Sets the type of menu to show.
 void setValue(java.lang.Object value)
          Sets the managed value of the object.
 
Methods inherited from class com.gridsystems.config.tools.swing.PopupTextField
discard, focusGained, focusLost, getButtonText, getPropertyName, getValue, hasChanged, isFieldEditable, postCheckChanges, preCheckChanges, setButtonText, setEnabled, setFieldEditable
 
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, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, 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, 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, transferFocusBackward, 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, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, 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, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

FILES_AND_DIRECTORIES

public static final int FILES_AND_DIRECTORIES
Allows selecting both files and directories.

See Also:
Constant Field Values

DIRECTORIES_ONLY

public static final int DIRECTORIES_ONLY
Allows selecting only files directories.

See Also:
Constant Field Values

FILES_ONLY

public static final int FILES_ONLY
Allows selecting only files.

See Also:
Constant Field Values

TYPE_OPEN

public static final int TYPE_OPEN
Opens the popup as an "Open" file menu (chose an existing file.

See Also:
Constant Field Values

TYPE_SAVE

public static final int TYPE_SAVE
Opens the popup as a "Save" file menu (chose an existing file.

See Also:
Constant Field Values
Constructor Detail

FileChooserField

public FileChooserField()
Constructor. Is equivalent to FileChooserField(null, FileChooserField.FILES_AND_DIRECTORIES)


FileChooserField

public FileChooserField(java.lang.String initialSelection)
Constructor. Is equivalent to FileChooserField(initialSelection, FileChooserField.FILES_AND_DIRECTORIES)

Parameters:
initialSelection - a String with the path initially selected.

FileChooserField

public FileChooserField(int mode)
Constructor. Is equivalent to FileChooserField(null,mode)

Parameters:
mode - an int with the mode of selection of files.

FileChooserField

public FileChooserField(java.lang.String initialSelection,
                        int mode)
Constructor.

Parameters:
initialSelection - a String with the path initially selected. If it is not a valid path or the associated file does not exist, it will be ignored.
mode - an int with the mode of selection of files. It can be FILES_AND_DIRECTORIES, FILES_ONLY or DIRECTORIES_ONLY.
Method Detail

openPopup

protected void openPopup()
Opens the file chooser dialog.

Specified by:
openPopup in class PopupTextField

setValue

public void setValue(java.lang.Object value)
Sets the managed value of the object. Sets the managed value of the object. This implementation just tries to use the methods from File to get the canonical path and use it instead of the value passed as a parameter, if this can not be done the value of the parameter is used. The internal storage/management of the object does not change.

Overrides:
setValue in class PopupTextField
Parameters:
value - the Object with the value to be managed by the component. If it is a instance of File, its getCanonicalPath() method is used. If it is not, the value of toString() is used to try to get the canonical path. If it fails, then the toString() value is stored as the internal value.
See Also:
PopupTextField.hasChanged()

getFile

public java.io.File getFile()
Gets the selected file.

Returns:
The selected file

setMode

public void setMode(int mode)
Sets the mode of selection of files.

Parameters:
mode - an int with the mode of selection of files. It can be FILES_AND_DIRECTORIES, FILES_ONLY or DIRECTORIES_ONLY.

getMode

public int getMode()
Gets the mode of selection of files.

Returns:
an int with the mode of selection of files. It can be FILES_AND_DIRECTORIES, FILES_ONLY or DIRECTORIES_ONLY.

setType

public void setType(int type)
Sets the type of menu to show.

Parameters:
type - an int with the type of menu to show. It can be TYPE_OPEN or TYPE_SAVE.

getType

public int getType()
Gets the type of menu to show.

Returns:
an int with the type of menu to show. It can be TYPE_OPEN or TYPE_SAVE.

setFilter

public void setFilter(javax.swing.filechooser.FileFilter fileFilter)
Sets a filter for the files to be displayed at the file system browser.

Parameters:
fileFilter - a javax.swing.filechooser.FileFilter that selects the files to display.
See Also:
JFileChooser.setFileFilter(FileFilter)

getFilter

public javax.swing.filechooser.FileFilter getFilter()
Gets the filter for the files to be displayed at the file system browser.

Returns:
the javax.swing.filechooser.FileFilter that selects the files to display. It can be null.
See Also:
JFileChooser.getFileFilter()


Copyright © 2007-2008 Grid Systems, S.A.. All Rights Reserved.