com.isti.util.gui
Class IstiFileChooser

java.lang.Object
  extended byjava.awt.Component
      extended byjava.awt.Container
          extended byjavax.swing.JComponent
              extended byjavax.swing.JFileChooser
                  extended bycom.isti.util.gui.IstiFixedJFileChooser
                      extended bycom.isti.util.gui.IstiFileChooser
All Implemented Interfaces:
javax.accessibility.Accessible, java.util.EventListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.beans.PropertyChangeListener, java.io.Serializable

public class IstiFileChooser
extends IstiFixedJFileChooser

Class IstiFileChooser Extends the JFileChooser.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes inherited from class javax.swing.JFileChooser
javax.swing.JFileChooser.AccessibleJFileChooser
 
Nested classes inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Nested classes inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
protected  boolean appendFlag
           
static java.lang.String APPROVE_BUTTON_TEXT
           
protected  boolean confirmOverwriteFlag
           
protected  java.lang.String currentSelection
           
protected static java.io.File defaultDirectory
           
protected  java.awt.Component defaultParent
           
protected  java.awt.Dimension windowSize
           
 
Fields inherited from class javax.swing.JFileChooser
ACCEPT_ALL_FILE_FILTER_USED_CHANGED_PROPERTY, accessibleContext, ACCESSORY_CHANGED_PROPERTY, APPROVE_BUTTON_MNEMONIC_CHANGED_PROPERTY, APPROVE_BUTTON_TEXT_CHANGED_PROPERTY, APPROVE_BUTTON_TOOL_TIP_TEXT_CHANGED_PROPERTY, APPROVE_OPTION, APPROVE_SELECTION, CANCEL_OPTION, CANCEL_SELECTION, CHOOSABLE_FILE_FILTER_CHANGED_PROPERTY, CONTROL_BUTTONS_ARE_SHOWN_CHANGED_PROPERTY, CUSTOM_DIALOG, DIALOG_TITLE_CHANGED_PROPERTY, DIALOG_TYPE_CHANGED_PROPERTY, DIRECTORIES_ONLY, DIRECTORY_CHANGED_PROPERTY, ERROR_OPTION, FILE_FILTER_CHANGED_PROPERTY, FILE_HIDING_CHANGED_PROPERTY, FILE_SELECTION_MODE_CHANGED_PROPERTY, FILE_SYSTEM_VIEW_CHANGED_PROPERTY, FILE_VIEW_CHANGED_PROPERTY, FILES_AND_DIRECTORIES, FILES_ONLY, MULTI_SELECTION_ENABLED_CHANGED_PROPERTY, OPEN_DIALOG, SAVE_DIALOG, SELECTED_FILE_CHANGED_PROPERTY, SELECTED_FILES_CHANGED_PROPERTY
 
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.Container
 
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
protected IstiFileChooser()
          Constructs a file chooser object.
protected IstiFileChooser(boolean appendButtonFlag)
          Constructs a file chooser object.
protected IstiFileChooser(int frameWidth, int frameHeight)
          Constructs a file chooser object.
protected IstiFileChooser(int frameWidth, int frameHeight, boolean appendButtonFlag)
          Constructs a file chooser object.
 
Method Summary
 void appendSelection()
          Called when the user hits the Append button.
 void approveSelection()
          Called by the UI when the user hits the Approve button using the default parent (labeled "Open" or "Save", by default).
static IstiFileChooser createFileChooser()
          Creates and returns a file-chooser object.
static IstiFileChooser createFileChooser(boolean appendButtonFlag)
          Creates and returns a file-chooser object.
static IstiFileChooser createFileChooser(int frameWidth, int frameHeight)
          Creates and returns a file-chooser object.
static IstiFileChooser createFileChooser(int frameWidth, int frameHeight, boolean appendButtonFlag)
          Creates and returns a file-chooser object.
 java.lang.String getCurrentSelection()
           
static java.io.File getDefaultDirectory()
          Gets the default directory to use when showing all dialogs.
 java.awt.Component getDefaultParent()
           
static java.io.File[] getFileArray(java.lang.String files)
           
static java.io.File getLastDirectory(java.io.File[] fileArray)
           
static java.io.File getLastDirectory(java.lang.String files)
           
 java.lang.String getTitleText()
          Gets the title text.
 boolean isConfirmOverwriteEnable()
           
 void setConfirmOverwriteEnable(boolean confirmOverwriteFlag)
          Enables or disable confirm overwrite.
 void setCurrentDirectory(java.io.File dirObj)
          Sets the current directory.
 void setCurrentSelection(java.lang.String currentFile)
          Sets the current selection to be used when the dialog is shown
static void setDefaultDirectory(java.io.File defaultDirectory)
          Sets the default directory to use when showing all dialogs.
 void setDefaultParent(java.awt.Component parent)
          Set the default parent component.
protected  void setSelectedFiles(java.lang.String files)
          Sets the selected files
 int showDialog()
          Pops up the file chooser dialog using the default parent.
 int showDialog(java.awt.Component parent)
          Pops up the file chooser dialog.
 int showDialog(java.awt.Component parent, java.lang.String approveButtonText)
          Pops up the file chooser dialog.
 
Methods inherited from class com.isti.util.gui.IstiFixedJFileChooser
createFixedFileChooser, propertyChange
 
Methods inherited from class javax.swing.JFileChooser
accept, addActionListener, addChoosableFileFilter, cancelSelection, changeToParentDirectory, createDialog, ensureFileIsVisible, fireActionPerformed, getAcceptAllFileFilter, getAccessibleContext, getAccessory, getActionListeners, getApproveButtonMnemonic, getApproveButtonText, getApproveButtonToolTipText, getChoosableFileFilters, getControlButtonsAreShown, getCurrentDirectory, getDescription, getDialogTitle, getDialogType, getDragEnabled, getFileFilter, getFileSelectionMode, getFileSystemView, getFileView, getIcon, getName, getSelectedFile, getSelectedFiles, getTypeDescription, getUI, getUIClassID, isAcceptAllFileFilterUsed, isDirectorySelectionEnabled, isFileHidingEnabled, isFileSelectionEnabled, isMultiSelectionEnabled, isTraversable, paramString, removeActionListener, removeChoosableFileFilter, rescanCurrentDirectory, resetChoosableFileFilters, setAcceptAllFileFilterUsed, setAccessory, setApproveButtonMnemonic, setApproveButtonMnemonic, setApproveButtonText, setApproveButtonToolTipText, setControlButtonsAreShown, setDialogTitle, setDialogType, setDragEnabled, setFileFilter, setFileHidingEnabled, setFileSelectionMode, setFileSystemView, setFileView, setMultiSelectionEnabled, setSelectedFile, setSelectedFiles, setup, showOpenDialog, showSaveDialog, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getGraphics, getHeight, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getPropertyChangeListeners, getPropertyChangeListeners, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isPreferredSizeSet, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFont, setForeground, 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, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, 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, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, 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, processMouseEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, 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

APPROVE_BUTTON_TEXT

public static final java.lang.String APPROVE_BUTTON_TEXT
See Also:
Constant Field Values

currentSelection

protected java.lang.String currentSelection

windowSize

protected java.awt.Dimension windowSize

appendFlag

protected boolean appendFlag

defaultDirectory

protected static java.io.File defaultDirectory

confirmOverwriteFlag

protected boolean confirmOverwriteFlag

defaultParent

protected java.awt.Component defaultParent
Constructor Detail

IstiFileChooser

protected IstiFileChooser(int frameWidth,
                          int frameHeight,
                          boolean appendButtonFlag)
Constructs a file chooser object.

Parameters:
frameWidth - the width of the file chooser window frame.
frameHeight - the height of the file chooser window frame.
appendButtonFlag - specifies that an "Append" button will be added to the panel (that will append selections to those chosen previously).

IstiFileChooser

protected IstiFileChooser(int frameWidth,
                          int frameHeight)
Constructs a file chooser object. No "Append" button is added.

Parameters:
frameWidth - the width of the file chooser window frame.
frameHeight - the height of the file chooser window frame.

IstiFileChooser

protected IstiFileChooser(boolean appendButtonFlag)
Constructs a file chooser object. The default window frame size is used.

Parameters:
appendButtonFlag - specifies that an "Append" button will be added to the panel (that will append selections to those chosen previously).

IstiFileChooser

protected IstiFileChooser()
Constructs a file chooser object. The default window frame size is used and no "Append" button is added.

Method Detail

createFileChooser

public static IstiFileChooser createFileChooser(int frameWidth,
                                                int frameHeight,
                                                boolean appendButtonFlag)
Creates and returns a file-chooser object. This method performs retries to try and work-around the possible occurrence of 'NullPointerException' during construction under Java 1.4.2; see Sun-Java bug 4711700.

Parameters:
frameWidth - the width of the file chooser window frame.
frameHeight - the height of the file chooser window frame.
appendButtonFlag - specifies that an "Append" button will be added to the panel (that will append selections to those chosen previously).
Returns:
A new 'IstiFileChooser' object.

createFileChooser

public static IstiFileChooser createFileChooser(int frameWidth,
                                                int frameHeight)
Creates and returns a file-chooser object. This method performs retries to try and work-around the possible occurrence of 'NullPointerException' during construction under Java 1.4.2; see Sun-Java bug 4711700.

Parameters:
frameWidth - the width of the file chooser window frame.
frameHeight - the height of the file chooser window frame.
Returns:
A new 'IstiFileChooser' object.

createFileChooser

public static IstiFileChooser createFileChooser(boolean appendButtonFlag)
Creates and returns a file-chooser object. The default window frame size is used. This method performs retries to try and work-around the possible occurrence of 'NullPointerException' during construction under Java 1.4.2; see Sun-Java bug 4711700.

Parameters:
appendButtonFlag - specifies that an "Append" button will be added to the panel (that will append selections to those chosen previously).
Returns:
A new 'IstiFileChooser' object.

createFileChooser

public static IstiFileChooser createFileChooser()
Creates and returns a file-chooser object. The default window frame size is used and no "Append" button is added. This method performs retries to try and work-around the possible occurrence of 'NullPointerException' during construction under Java 1.4.2; see Sun-Java bug 4711700.

Returns:
A new 'IstiFileChooser' object.

getDefaultParent

public java.awt.Component getDefaultParent()
Returns:
the default parent component.

isConfirmOverwriteEnable

public boolean isConfirmOverwriteEnable()
Returns:
true if confirm overwrite is enabled.

setDefaultParent

public void setDefaultParent(java.awt.Component parent)
Set the default parent component.

Parameters:
parent - default parent component

setConfirmOverwriteEnable

public void setConfirmOverwriteEnable(boolean confirmOverwriteFlag)
Enables or disable confirm overwrite.

Parameters:
confirmOverwriteFlag - true if overwrite should be confirmed. The default parent is used for the overwrite confirmation dialog.
See Also:
setDefaultParent

showDialog

public int showDialog(java.awt.Component parent)
Pops up the file chooser dialog.

Parameters:
parent - the parent component of the dialog; can be null
Returns:
the return state of the file chooser on popdown:
  • JFileChooser.CANCEL_OPTION
  • JFileChooser.APPROVE_OPTION
  • JFileChooser.ERROR_OPTION if an error occurs or the dialog is dismissed

showDialog

public int showDialog(java.awt.Component parent,
                      java.lang.String approveButtonText)
Pops up the file chooser dialog.

Parameters:
parent - the parent component of the dialog; can be null
approveButtonText - the text of the ApproveButton
Returns:
the return state of the file chooser on popdown:
  • JFileChooser.CANCEL_OPTION
  • JFileChooser.APPROVE_OPTION
  • JFileChooser.ERROR_OPTION if an error occurs or the dialog is dismissed

showDialog

public int showDialog()
Pops up the file chooser dialog using the default parent.

Returns:
the return state of the file chooser on popdown:
  • JFileChooser.CANCEL_OPTION
  • JFileChooser.APPROVE_OPTION
  • JFileChooser.ERROR_OPTION if an error occurs or the dialog is dismissed
See Also:
setDefaultParent

getCurrentSelection

public java.lang.String getCurrentSelection()
Returns:
the current selection

setCurrentSelection

public void setCurrentSelection(java.lang.String currentFile)
Sets the current selection to be used when the dialog is shown

Parameters:
currentFile - current file selection

setSelectedFiles

protected void setSelectedFiles(java.lang.String files)
Sets the selected files

Parameters:
files - file selection

getFileArray

public static java.io.File[] getFileArray(java.lang.String files)
Parameters:
files - file selection
Returns:
an array of files from the string

getLastDirectory

public static java.io.File getLastDirectory(java.lang.String files)
Parameters:
files - file selection
Returns:
the direcotry of the last entry with a path from the files string

getLastDirectory

public static java.io.File getLastDirectory(java.io.File[] fileArray)
Parameters:
fileArray - array of files
Returns:
the directory of the last entry with a path from the file array

getTitleText

public java.lang.String getTitleText()
Gets the title text.

Returns:
the title text.

getDefaultDirectory

public static java.io.File getDefaultDirectory()
Gets the default directory to use when showing all dialogs.

Returns:
the default directory

setDefaultDirectory

public static void setDefaultDirectory(java.io.File defaultDirectory)
Sets the default directory to use when showing all dialogs.

Parameters:
defaultDirectory - the default directory

approveSelection

public void approveSelection()
Called by the UI when the user hits the Approve button using the default parent (labeled "Open" or "Save", by default). This can also be called by the programmer.

See Also:
setDefaultParent

appendSelection

public void appendSelection()
Called when the user hits the Append button.


setCurrentDirectory

public void setCurrentDirectory(java.io.File dirObj)
Sets the current directory. This overridden version converts the given directory to a "canonical" version before calling the parent method to work around Java 1.4.2 bug (4869950). Passing in null sets the file chooser to point to the user's home directory. If the file passed in as currentDirectory is not a directory, the parent of the file will be used as the currentDirectory. If the parent is not traversable, then it will walk up the parent tree until it finds a traversable directory, or hits the root of the file system.

Parameters:
dirObj - the current directory to point to.