Package weka.gui

# Class ConverterFileChooser

java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JFileChooser
weka.gui.WekaFileChooser
weka.gui.ConverterFileChooser

All Implemented Interfaces:
  `ImageObserver`, `MenuContainer`, `Serializable`, `Accessible`

public class ConverterFileChooser extends WekaFileChooser
A specialized JFileChooser that lists all available file Loaders and Savers. To list only savers that can handle the data that is about to be saved, one can set a Capabilities filter.

Version:
  $Revision: 15666 $
Author:
  fracpete (fracpete at waikato dot ac dot nz)
See Also:
  - `setCapabilitiesFilter(Capabilities)`
  - Serialized Form

- ## Nested Class Summary

  ## Nested classes/interfaces inherited from class weka.gui.WekaFileChooser

  `WekaFileChooser.Factory, WekaFileChooser.FileChooserBookmarksPanel, WekaFileChooser.PropertiesHandler`

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

  `JComponent.AccessibleJComponent`

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

  `Component.BaselineResizeBehavior`

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `static final int`
  `LOADER_DIALOG`
  the loader dialog.
  `static final int`
  `SAVER_DIALOG`
  the saver dialog.
  `static final int`
  `UNHANDLED_DIALOG`
  unhandled type of dialog.

  ### Fields inherited from class javax.swing.JFileChooser

  `ACCEPT_ALL_FILE_FILTER_USED_CHANGED_PROPERTY, 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

  `TOOL_TIP_TEXT_KEY, 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

  Constructors
  Constructor
  Description
  `ConverterFileChooser()`
  onstructs a FileChooser pointing to the user's default directory.
  `ConverterFileChooser(File currentDirectory)`
  Constructs a FileChooser using the given File as the path.
  `ConverterFileChooser(String currentDirectory)`
  Constructs a FileChooser using the given path.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Capabilities`
  `getCapabilitiesFilter()`
  returns the capabilities filter for the savers, can be null if all are listed.
  `boolean`
  `getCoreConvertersOnly()`
  Returns whether only the hardcoded core converters are displayed.
  `boolean`
  `getFileMustExist()`
  Returns whether the selected file must exist (only open dialog).
  `AbstractFileLoader`
  `getLoader()`
  returns the loader that was chosen by the user, can be null in case the user aborted the dialog or the save dialog was shown.
  `boolean`
  `getOverwriteWarning()`
  Returns whether a popup appears with a warning that the file already exists (only save dialog).
  `AbstractFileSaver`
  `getSaver()`
  returns the saver that was chosen by the user, can be null in case the user aborted the dialog or the open dialog was shown.
  `static void`
  `initDefaultFilters()`
  Initialize the default set of filters for loaders and savers
  `static void`
  `main(String[] args)`
  For testing the file chooser.
  `void`
  `setCapabilitiesFilter(Capabilities value)`
  sets the capabilities that the savers must have.
  `void`
  `setCoreConvertersOnly(boolean value)`
  Whether to display only the hardocded core converters.
  `void`
  `setFileMustExist(boolean value)`
  Whether the selected file must exst (only open dialog).
  `void`
  `setOverwriteWarning(boolean value)`
  Whether a warning is popped up if the file that is to be saved already exists (only save dialog).
  `int`
  `showDialog(Component parent, String approveButtonText)`
  Pops a custom file chooser dialog with a custom approve button.
  `int`
  `showOpenDialog(Component parent)`
  Pops up an "Open File" file chooser dialog.
  `int`
  `showSaveDialog(Component parent)`
  Pops up an "Save File" file chooser dialog.

  ### Methods inherited from class javax.swing.JFileChooser

  `accept, addActionListener, addChoosableFileFilter, approveSelection, cancelSelection, changeToParentDirectory, ensureFileIsVisible, 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, removeActionListener, removeChoosableFileFilter, rescanCurrentDirectory, resetChoosableFileFilters, setAcceptAllFileFilterUsed, setAccessory, setApproveButtonMnemonic, setApproveButtonMnemonic, setApproveButtonText, setApproveButtonToolTipText, setControlButtonsAreShown, setCurrentDirectory, setDialogTitle, setDialogType, setDragEnabled, setFileFilter, setFileHidingEnabled, setFileSelectionMode, setFileSystemView, setFileView, setMultiSelectionEnabled, setSelectedFile, setSelectedFiles, updateUI`

  ### Methods inherited from class javax.swing.JComponent

  `addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, 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, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintImmediately, paintImmediately, print, printAll, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update`

  ### Methods inherited from class java.awt.Container

  `add, add, add, add, add, addContainerListener, 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, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate`

  ### Methods inherited from class java.awt.Component

  `action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, contains, createImage, createImage, createVolatileImage, createVolatileImage, dispatchEvent, enable, enableInputMethods, 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, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, 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

  `equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

- ## Field Details

  - ### UNHANDLED_DIALOG

    public static final int UNHANDLED_DIALOG
    unhandled type of dialog.
    See Also:
      - Constant Field Values

  - ### LOADER_DIALOG

    public static final int LOADER_DIALOG
    the loader dialog.
    See Also:
      - Constant Field Values

  - ### SAVER_DIALOG

    public static final int SAVER_DIALOG
    the saver dialog.
    See Also:
      - Constant Field Values

- ## Constructor Details

  - ### ConverterFileChooser

    public ConverterFileChooser()
    onstructs a FileChooser pointing to the user's default directory.

  - ### ConverterFileChooser

    public ConverterFileChooser(File currentDirectory)
    Constructs a FileChooser using the given File as the path.
    Parameters:
      `currentDirectory` - the path to start in

  - ### ConverterFileChooser

    public ConverterFileChooser(String currentDirectory)
    Constructs a FileChooser using the given path.
    Parameters:
      `currentDirectory` - the path to start in

- ## Method Details

  - ### initDefaultFilters

    public static void initDefaultFilters()
    Initialize the default set of filters for loaders and savers

  - ### setCapabilitiesFilter

    public void setCapabilitiesFilter(Capabilities value)
    sets the capabilities that the savers must have. use null if all should be listed.
    Parameters:
      `value` - the minimum Capabilities the savers must have

  - ### getCapabilitiesFilter

    public Capabilities getCapabilitiesFilter()
    returns the capabilities filter for the savers, can be null if all are listed.
    Returns:
      the minimum Capabilities the savers must have

  - ### setOverwriteWarning

    public void setOverwriteWarning(boolean value)
    Whether a warning is popped up if the file that is to be saved already exists (only save dialog).
    Parameters:
      `value` - if true a warning will be popup

  - ### getOverwriteWarning

    public boolean getOverwriteWarning()
    Returns whether a popup appears with a warning that the file already exists (only save dialog).
    Returns:
      true if a warning pops up

  - ### setFileMustExist

    public void setFileMustExist(boolean value)
    Whether the selected file must exst (only open dialog).
    Parameters:
      `value` - if true the file must exist

  - ### getFileMustExist

    public boolean getFileMustExist()
    Returns whether the selected file must exist (only open dialog).
    Returns:
      true if the file must exist

  - ### setCoreConvertersOnly

    public void setCoreConvertersOnly(boolean value)
    Whether to display only the hardocded core converters. Necessary for RMI/Remote Experiments (dynamic class discovery doesn't work there!).
    Parameters:
      `value` - if true only the core converters will be displayed
    See Also:
      - `m_CoreConvertersOnly`

  - ### getCoreConvertersOnly

    public boolean getCoreConvertersOnly()
    Returns whether only the hardcoded core converters are displayed. Necessary for RMI/REmote Experiments (dynamic class discovery doesn't work there!).
    Returns:
      true if the file must exist
    See Also:
      - `m_CoreConvertersOnly`

  - ### showDialog

    public int showDialog(Component parent, String approveButtonText)
    Pops a custom file chooser dialog with a custom approve button. Throws an exception, if the dialog type is UNHANDLED_DIALOG.
    Overrides:
      `showDialog` in class `JFileChooser`
    Parameters:
      `parent` - the parent of this dialog
      `approveButtonText` - the text for the OK button
    Returns:
      the user's action

  - ### showOpenDialog

    public int showOpenDialog(Component parent)
    Pops up an "Open File" file chooser dialog.
    Overrides:
      `showOpenDialog` in class `JFileChooser`
    Parameters:
      `parent` - the parent of this file chooser
    Returns:
      the result of the user's action

  - ### showSaveDialog

    public int showSaveDialog(Component parent)
    Pops up an "Save File" file chooser dialog.
    Overrides:
      `showSaveDialog` in class `JFileChooser`
    Parameters:
      `parent` - the parent of this file chooser
    Returns:
      the result of the user's action

  - ### getLoader

    public AbstractFileLoader getLoader()
    returns the loader that was chosen by the user, can be null in case the user aborted the dialog or the save dialog was shown.
    Returns:
      the chosen loader, if any

  - ### getSaver

    public AbstractFileSaver getSaver()
    returns the saver that was chosen by the user, can be null in case the user aborted the dialog or the open dialog was shown.
    Returns:
      the chosen saver, if any

  - ### main

    public static void main(String[] args) throws Exception
    For testing the file chooser.
    Parameters:
      `args` - the commandline options - ignored
    Throws:
      `Exception` - if something goes wrong with loading/saving