public class TLEFileChooser extends javax.swing.JFileChooser implements javax.swing.event.AncestorListener, java.beans.PropertyChangeListener
javax.swing.JFileChooser.AccessibleJFileChooser
javax.swing.JComponent.AccessibleJComponent
Modifier and Type | Field and Description |
---|---|
private static java.lang.String |
ID |
private static org.slf4j.Logger |
logger |
private PolarOrbitTrackChooser |
potc |
private static long |
serialVersionUID
auto-generated default value
|
private boolean |
trulyVisible
Value is controlled via
ancestorAdded(AncestorEvent) and
ancestorRemoved(AncestorEvent) |
protected OnFileChangeListener |
watchListener
This is mostly used to preemptively null-out the listener.
|
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
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
Constructor and Description |
---|
TLEFileChooser(PolarOrbitTrackChooser chooser,
java.lang.String directory,
java.lang.String filename)
Create the file chooser
|
Modifier and Type | Method and Description |
---|---|
void |
ancestorAdded(javax.swing.event.AncestorEvent ancestorEvent) |
void |
ancestorMoved(javax.swing.event.AncestorEvent ancestorEvent)
Not implemented.
|
void |
ancestorRemoved(javax.swing.event.AncestorEvent ancestorEvent) |
void |
approveSelection()
Approve the selection
|
private OnFileChangeListener |
createWatcher()
Creates a directory monitoring
service . |
java.lang.String |
getPath()
See the javadoc for
getPath(String) . |
java.lang.String |
getPath(java.lang.String defaultValue)
Get the path the
JFileChooser should be using. |
PolarOrbitTrackChooser |
getPotc() |
void |
handleChangeWatchService(java.lang.String newPath)
Respond to path changes in the
JFileChooser . |
protected void |
handleFileChanged() |
void |
handleStartWatchService(java.lang.String topic,
java.lang.Object reason)
Begin monitoring the directory returned by
getPath() for
changes. |
void |
handleStopWatchService(java.lang.String topic,
java.lang.Object reason)
Disable directory monitoring (if it was enabled in the first place).
|
boolean |
isTrulyVisible()
Determine if this file chooser is actually visible to the user.
|
void |
propertyChange(java.beans.PropertyChangeEvent pce) |
private void |
refreshIfNeeded(java.lang.String filePath)
Used to handle the
OnFileChangeListener.onFileDelete(String) and
OnFileChangeListener.onWatchInvalidation(String) events. |
void |
setPath(java.lang.String newPath)
Change the path that the file chooser is presenting to the user.
|
void |
setPotc(PolarOrbitTrackChooser potc) |
void |
setSelectedFile(java.io.File file) |
private void |
setTrulyVisible(boolean value)
Set whether or not this file chooser is actually visible to the user.
|
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, setCurrentDirectory, setDialogTitle, setDialogType, setDragEnabled, setFileFilter, setFileHidingEnabled, setFileSelectionMode, setFileSystemView, setFileView, setMultiSelectionEnabled, setSelectedFiles, setup, showDialog, showOpenDialog, showSaveDialog, updateUI
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
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
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, 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, transferFocusBackward, transferFocusUpCycle
private static final java.lang.String ID
private static final long serialVersionUID
private static final org.slf4j.Logger logger
private PolarOrbitTrackChooser potc
protected OnFileChangeListener watchListener
private boolean trulyVisible
ancestorAdded(AncestorEvent)
and
ancestorRemoved(AncestorEvent)
public TLEFileChooser(PolarOrbitTrackChooser chooser, java.lang.String directory, java.lang.String filename)
chooser
- PolarOrbitTrackChooser
to which this TLEFileChooser
belongs.directory
- Initial directory.filename
- Initial filename within directory
.public void setSelectedFile(java.io.File file)
setSelectedFile
in class javax.swing.JFileChooser
public void approveSelection()
approveSelection
in class javax.swing.JFileChooser
public void setPotc(PolarOrbitTrackChooser potc)
public PolarOrbitTrackChooser getPotc()
public void propertyChange(java.beans.PropertyChangeEvent pce)
propertyChange
in interface java.beans.PropertyChangeListener
protected void handleFileChanged()
public void setPath(java.lang.String newPath)
This value will be written to the user's preferences so that the user can pick up where they left off after restarting McIDAS-V.
newPath
- Path to set.public java.lang.String getPath()
getPath(String)
.
The difference between the two is that this method passes the value
of System.getProperty("user.home")
to getPath(String)
as the default value.
public java.lang.String getPath(java.lang.String defaultValue)
JFileChooser
should be using.
If the path in the user's preferences is null
(or does not exist), defaultValue
will be returned.
If there is a nonexistent path in the preferences file,
FileChooser.findValidParent(String)
will be used.
defaultValue
- Default path to use if there is a "bad"
path in the user's preferences.
Cannot be null
.java.lang.NullPointerException
- if defaultValue
is null
.public void handleChangeWatchService(java.lang.String newPath)
JFileChooser
.
This method will disable monitoring of the previous path and then
enable monitoring of newPath
.
newPath
- New path to begin watching.public void handleStartWatchService(java.lang.String topic, java.lang.Object reason)
getPath()
for
changes.topic
- Artifact from EventBus
annotation. Not used.reason
- Optional "Reason" for starting.
Helpful for logging.public void handleStopWatchService(java.lang.String topic, java.lang.Object reason)
topic
- Artifact from EventBus
annotation. Not used.reason
- Optional "Reason" for starting.
Helpful for logging.private OnFileChangeListener createWatcher()
service
.private void refreshIfNeeded(java.lang.String filePath)
OnFileChangeListener.onFileDelete(String)
and
OnFileChangeListener.onWatchInvalidation(String)
events.filePath
- Path of interest. Cannot be null
.public void ancestorAdded(javax.swing.event.AncestorEvent ancestorEvent)
ancestorAdded
in interface javax.swing.event.AncestorListener
public void ancestorRemoved(javax.swing.event.AncestorEvent ancestorEvent)
ancestorRemoved
in interface javax.swing.event.AncestorListener
public void ancestorMoved(javax.swing.event.AncestorEvent ancestorEvent)
ancestorMoved
in interface javax.swing.event.AncestorListener
ancestorEvent
- Ignored.public boolean isTrulyVisible()
private void setTrulyVisible(boolean value)
value
- true
means visible.