java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JPanel
com.yaftp.utils.ElementTreePanel
- All Implemented Interfaces:
- javax.accessibility.Accessible, javax.swing.event.CaretListener, javax.swing.event.DocumentListener, java.util.EventListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.beans.PropertyChangeListener, java.io.Serializable, javax.swing.event.TreeSelectionListener
- public class ElementTreePanel
- extends javax.swing.JPanel
- implements javax.swing.event.CaretListener, javax.swing.event.DocumentListener, java.beans.PropertyChangeListener, javax.swing.event.TreeSelectionListener
Displays a tree showing all the elements in a text Document. Selecting
a node will result in reseting the selection of the JTextComponent.
This also becomes a CaretListener to know when the selection has changed
in the text to update the selected item in the tree.
- Version:
- 1.9 04/23/99
|
Nested Class Summary |
static class |
ElementTreePanel.ElementTreeModel
ElementTreeModel is an implementation of TreeModel to handle displaying
the Elements from a Document. |
| Nested classes inherited from class javax.swing.JPanel |
javax.swing.JPanel.AccessibleJPanel |
| 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 |
| Fields inherited from class java.awt.Container |
|
| Methods inherited from class javax.swing.JComponent |
addAncestorListener, addNotify, addPropertyChangeListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, 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, 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, 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, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalKeys, setFocusTraversalPolicy, 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, getFontMetrics, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, 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, 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 |
tree
protected javax.swing.JTree tree
- Tree showing the documents element structure.
editor
protected javax.swing.text.JTextComponent editor
- Text component showing elemenst for.
treeModel
protected ElementTreePanel.ElementTreeModel treeModel
- Model for the tree.
updatingSelection
protected boolean updatingSelection
- Set to true when updatin the selection.
ElementTreePanel
public ElementTreePanel(javax.swing.text.JTextComponent editor)
setEditor
public void setEditor(javax.swing.text.JTextComponent editor)
- Resets the JTextComponent to
editor. This will update
the tree accordingly.
propertyChange
public void propertyChange(java.beans.PropertyChangeEvent e)
- Invoked when a property changes. We are only interested in when the
Document changes to reset the DocumentListener.
- Specified by:
propertyChange in interface java.beans.PropertyChangeListener
insertUpdate
public void insertUpdate(javax.swing.event.DocumentEvent e)
- Gives notification that there was an insert into the document. The
given range bounds the freshly inserted region.
- Specified by:
insertUpdate in interface javax.swing.event.DocumentListener
removeUpdate
public void removeUpdate(javax.swing.event.DocumentEvent e)
- Gives notification that a portion of the document has been
removed. The range is given in terms of what the view last
saw (that is, before updating sticky positions).
- Specified by:
removeUpdate in interface javax.swing.event.DocumentListener
changedUpdate
public void changedUpdate(javax.swing.event.DocumentEvent e)
- Gives notification that an attribute or set of attributes changed.
- Specified by:
changedUpdate in interface javax.swing.event.DocumentListener
caretUpdate
public void caretUpdate(javax.swing.event.CaretEvent e)
- Messaged when the selection in the editor has changed. Will update
the selection in the tree.
- Specified by:
caretUpdate in interface javax.swing.event.CaretListener
valueChanged
public void valueChanged(javax.swing.event.TreeSelectionEvent e)
- Called whenever the value of the selection changes.
- Specified by:
valueChanged in interface javax.swing.event.TreeSelectionListener
getTree
protected javax.swing.JTree getTree()
getEditor
protected javax.swing.text.JTextComponent getEditor()
getTreeModel
public javax.swing.tree.DefaultTreeModel getTreeModel()
updateTree
protected void updateTree(javax.swing.event.DocumentEvent event)
- Updates the tree based on the event type. This will invoke either
updateTree with the root element, or handleChange.
updateTree
protected void updateTree(javax.swing.event.DocumentEvent event,
javax.swing.text.Element element)
- Creates TreeModelEvents based on the DocumentEvent and messages
the treemodel. This recursively invokes this method with children
elements.
getPathForIndex
protected javax.swing.tree.TreePath getPathForIndex(int position,
java.lang.Object root,
javax.swing.text.Element rootElement)
- Returns a TreePath to the element at
position.