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 BaseCheckBoxm_CheckBoxOptionsthe checkbox for bringing up the GenericObjectEditor.protected Objectm_CurrentConverterthe converter that was chosen by the user.protected intm_DialogTypethe type of dialog to display.protected GenericObjectEditorm_Editorthe GOE for displaying the options of a reader/writer.protected ImagePreviewm_ImagePreviewthe image preview.protected FileFilterm_LastFilterthe last filter that was used for opening/saving.protected PropertyChangeListenerm_Listenerthe propertychangelistener.protected JComponentWriterm_PreferredWriterthe preferred filter.protected static List<JComponentWriterFileFilter>m_WriterFileFiltersthe file filters for the writers.static intUNHANDLED_DIALOGunhandled type of dialog.static intWRITER_DIALOGthe 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 voidconfigureCurrentConverter(int dialogType)configures the current converter.protected JComponentcreateAccessoryPanel()Creates an accessory panel displayed next to the files.JComponentWritergetWriter()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 voidinitFilters()initializes the JComponentWriterFileFilters.protected voidinitGUI(int dialogType)initializes the GUI.protected voidinitialize()Further initializations.voidsetAcceptAllFileFilterUsed(boolean b)Is always using false, since we can't determine the reader/writer based on the extension.intshowDialog(Component parent, String approveButtonText)Pops a custom file chooser dialog with a custom approve button.intshowOpenDialog(Component parent)Throws an exception.intshowSaveDialog(Component parent)Pops up an "Save File" file chooser dialog.protected voidupdateCurrentConverter()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:
initializein classBaseFileChooser
-
createAccessoryPanel
protected JComponent createAccessoryPanel()
Creates an accessory panel displayed next to the files.- Overrides:
createAccessoryPanelin 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:
showDialogin interfaceFileChooser- Overrides:
showDialogin 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:
showOpenDialogin interfaceFileChooser- Overrides:
showOpenDialogin 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:
showSaveDialogin interfaceFileChooser- Overrides:
showSaveDialogin 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:
setAcceptAllFileFilterUsedin interfaceFileChooser- Overrides:
setAcceptAllFileFilterUsedin classJFileChooser- Parameters:
b- ignored- See Also:
FileChooser.isAcceptAllFileFilterUsed(),FileChooser.getAcceptAllFileFilter(),FileChooser.setFileFilter(javax.swing.filechooser.FileFilter)
-
-