Package adams.gui.print
Class JComponentWriterFileChooser
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JFileChooser
-
- adams.gui.chooser.BaseFileChooser
-
- adams.gui.print.JComponentWriterFileChooser
-
- All Implemented Interfaces:
FileChooser
,ImageObserver
,MenuContainer
,Serializable
,Accessible
public class JComponentWriterFileChooser extends BaseFileChooser
A specialized JFileChooser that lists all available file Writers for screenshots.- Version:
- $Revision$
- Author:
- fracpete (fracpete at waikato dot ac dot nz)
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class javax.swing.JFileChooser
JFileChooser.AccessibleJFileChooser
-
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
-
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
-
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
-
-
Field Summary
Fields Modifier and Type Field Description protected BaseCheckBox
m_CheckBoxOptions
the checkbox for bringing up the GenericObjectEditor.protected Object
m_CurrentConverter
the converter that was chosen by the user.protected int
m_DialogType
the type of dialog to display.protected GenericObjectEditor
m_Editor
the GOE for displaying the options of a reader/writer.protected ImagePreview
m_ImagePreview
the image preview.protected FileFilter
m_LastFilter
the last filter that was used for opening/saving.protected PropertyChangeListener
m_Listener
the propertychangelistener.protected JComponentWriter
m_PreferredWriter
the preferred filter.protected static List<JComponentWriterFileFilter>
m_WriterFileFilters
the file filters for the writers.static int
UNHANDLED_DIALOG
unhandled type of dialog.static int
WRITER_DIALOG
the writer dialog.-
Fields inherited from class adams.gui.chooser.BaseFileChooser
m_AllowGlobFilters, m_AutoAppendExtension, m_DefaultExtension, m_PanelBookmarks, m_PanelBookmarksAndFilter, m_PanelFilter, m_PromptOverwriteFile
-
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.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 JComponentWriterFileChooser()
onstructs a FileChooser pointing to the user's default directory.JComponentWriterFileChooser(File currentDirectory)
Constructs a FileChooser using the given File as the path.JComponentWriterFileChooser(String currentDirectory)
Constructs a FileChooser using the given path.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
configureCurrentConverter(int dialogType)
configures the current converter.protected JComponent
createAccessoryPanel()
Creates an accessory panel displayed next to the files.JComponentWriter
getWriter()
returns the writer that was chosen by the user, can be null in case the user aborted the dialog or the open dialog was shown.protected static void
initFilters()
initializes the JComponentWriterFileFilters.protected void
initGUI(int dialogType)
initializes the GUI.protected void
initialize()
Further initializations.void
setAcceptAllFileFilterUsed(boolean b)
Is always using false, since we can't determine the reader/writer based on the extension.int
showDialog(Component parent, String approveButtonText)
Pops a custom file chooser dialog with a custom approve button.int
showOpenDialog(Component parent)
Throws an exception.int
showSaveDialog(Component parent)
Pops up an "Save File" file chooser dialog.protected void
updateCurrentConverter()
sets the current converter according to the current filefilter.-
Methods inherited from class adams.gui.chooser.BaseFileChooser
accept, addChoosableFileFilter, checkFilter, findExistingDir, fixPrefix, getAllowGlobFilters, getAutoAppendExtension, getCurrentPlaceholderDirectory, getDefaultAccessoryDimension, getDefaultExtension, getPromptOverwriteFile, getSelectedFiles, getSelectedPlaceholderFile, getSelectedPlaceholderFiles, handleException, hasCorrectExtension, isGlobFilter, isJComponent, setAllowGlobFilters, setAutoAppendExtension, setCurrentDirectory, setDefaultExtension, setFileFilter, setPromptOverwriteFile, setSelectedFile, setSelectedFiles
-
Methods inherited from class javax.swing.JFileChooser
addActionListener, approveSelection, 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, getTypeDescription, getUI, getUIClassID, isAcceptAllFileFilterUsed, isDirectorySelectionEnabled, isFileHidingEnabled, isFileSelectionEnabled, isMultiSelectionEnabled, isTraversable, paramString, removeActionListener, removeChoosableFileFilter, rescanCurrentDirectory, resetChoosableFileFilters, setAccessory, setApproveButtonMnemonic, setApproveButtonMnemonic, setApproveButtonText, setApproveButtonToolTipText, setControlButtonsAreShown, setDialogTitle, setDialogType, setDragEnabled, setFileHidingEnabled, setFileSelectionMode, setFileSystemView, setFileView, setMultiSelectionEnabled, setup, 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, setEnabled, 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 adams.gui.chooser.FileChooser
addActionListener, approveSelection, cancelSelection, changeToParentDirectory, ensureFileIsVisible, getAcceptAllFileFilter, getAccessory, getActionListeners, getApproveButtonMnemonic, getApproveButtonText, getApproveButtonToolTipText, getChoosableFileFilters, getControlButtonsAreShown, getCurrentDirectory, getDescription, getDialogTitle, getDialogType, getDragEnabled, getFileFilter, getFileSelectionMode, getFileSystemView, getFileView, getIcon, getName, getSelectedFile, getTypeDescription, isAcceptAllFileFilterUsed, isDirectorySelectionEnabled, isFileHidingEnabled, isFileSelectionEnabled, isMultiSelectionEnabled, isTraversable, removeActionListener, removeChoosableFileFilter, rescanCurrentDirectory, resetChoosableFileFilters, setAccessory, setApproveButtonMnemonic, setApproveButtonMnemonic, setApproveButtonText, setApproveButtonToolTipText, setControlButtonsAreShown, setDialogTitle, setDialogType, setDragEnabled, setFileHidingEnabled, setFileSelectionMode, setFileSystemView, setFileView, setMultiSelectionEnabled
-
-
-
-
Field Detail
-
UNHANDLED_DIALOG
public static final int UNHANDLED_DIALOG
unhandled type of dialog.- See Also:
- Constant Field Values
-
WRITER_DIALOG
public static final int WRITER_DIALOG
the writer dialog.- See Also:
- Constant Field Values
-
m_WriterFileFilters
protected static List<JComponentWriterFileFilter> m_WriterFileFilters
the file filters for the writers.
-
m_DialogType
protected int m_DialogType
the type of dialog to display.
-
m_CurrentConverter
protected Object m_CurrentConverter
the converter that was chosen by the user.
-
m_Listener
protected PropertyChangeListener m_Listener
the propertychangelistener.
-
m_LastFilter
protected FileFilter m_LastFilter
the last filter that was used for opening/saving.
-
m_PreferredWriter
protected JComponentWriter m_PreferredWriter
the preferred filter.
-
m_CheckBoxOptions
protected BaseCheckBox m_CheckBoxOptions
the checkbox for bringing up the GenericObjectEditor.
-
m_ImagePreview
protected ImagePreview m_ImagePreview
the image preview.
-
m_Editor
protected GenericObjectEditor m_Editor
the GOE for displaying the options of a reader/writer.
-
-
Constructor Detail
-
JComponentWriterFileChooser
public JComponentWriterFileChooser()
onstructs a FileChooser pointing to the user's default directory.
-
JComponentWriterFileChooser
public JComponentWriterFileChooser(File currentDirectory)
Constructs a FileChooser using the given File as the path.- Parameters:
currentDirectory
- the path to start in
-
JComponentWriterFileChooser
public JComponentWriterFileChooser(String currentDirectory)
Constructs a FileChooser using the given path.- Parameters:
currentDirectory
- the path to start in
-
-
Method Detail
-
initialize
protected void initialize()
Further initializations.- Overrides:
initialize
in classBaseFileChooser
-
createAccessoryPanel
protected JComponent createAccessoryPanel()
Creates an accessory panel displayed next to the files.- Overrides:
createAccessoryPanel
in classBaseFileChooser
- Returns:
- the panel or null if none available
-
initFilters
protected static void initFilters()
initializes the JComponentWriterFileFilters.
-
initGUI
protected void initGUI(int dialogType)
initializes the GUI.- Parameters:
dialogType
- the type of dialog to setup the GUI for
-
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.- Specified by:
showDialog
in interfaceFileChooser
- Overrides:
showDialog
in classBaseFileChooser
- Parameters:
parent
- the parent of this dialogapproveButtonText
- the text for the OK button- Returns:
- the user's action
- See Also:
GraphicsEnvironment.isHeadless()
-
showOpenDialog
public int showOpenDialog(Component parent)
Throws an exception.- Specified by:
showOpenDialog
in interfaceFileChooser
- Overrides:
showOpenDialog
in classJFileChooser
- Parameters:
parent
- the parent of this file chooser- Returns:
- throws an exception
- See Also:
GraphicsEnvironment.isHeadless()
,FileChooser.showDialog(java.awt.Component, java.lang.String)
-
showSaveDialog
public int showSaveDialog(Component parent)
Pops up an "Save File" file chooser dialog.- Specified by:
showSaveDialog
in interfaceFileChooser
- Overrides:
showSaveDialog
in classJFileChooser
- Parameters:
parent
- the parent of this file chooser- Returns:
- the result of the user's action
- See Also:
GraphicsEnvironment.isHeadless()
,FileChooser.showDialog(java.awt.Component, java.lang.String)
-
getWriter
public JComponentWriter getWriter()
returns the writer 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 writer, if any
-
updateCurrentConverter
protected void updateCurrentConverter()
sets the current converter according to the current filefilter.
-
configureCurrentConverter
protected void configureCurrentConverter(int dialogType)
configures the current converter.- Parameters:
dialogType
- the type of dialog to configure for
-
setAcceptAllFileFilterUsed
public void setAcceptAllFileFilterUsed(boolean b)
Is always using false, since we can't determine the reader/writer based on the extension.- Specified by:
setAcceptAllFileFilterUsed
in interfaceFileChooser
- Overrides:
setAcceptAllFileFilterUsed
in classJFileChooser
- Parameters:
b
- ignored- See Also:
FileChooser.isAcceptAllFileFilterUsed()
,FileChooser.getAcceptAllFileFilter()
,FileChooser.setFileFilter(javax.swing.filechooser.FileFilter)
-
-