Class DefaultXTreeCellEditor

  • All Implemented Interfaces:
    java.awt.event.ActionListener, java.util.EventListener, javax.swing.CellEditor, javax.swing.event.TreeSelectionListener, javax.swing.tree.TreeCellEditor, UIDependent

    public class DefaultXTreeCellEditor
    extends javax.swing.tree.DefaultTreeCellEditor
    implements UIDependent
    Subclassed to hack around core bug with RtoL editing (#4980473). The price to pay is currently is to guarantee a minimum size of the editing field (is only one char wide if the node value is null). PENDING: any possibility to position the editorContainer? BasicTreeUI adds it to the tree and positions at the node location. That's not a problem in LToR, only in RToL
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      class  DefaultXTreeCellEditor.XEditorContainer  
      • Nested classes/interfaces inherited from class javax.swing.tree.DefaultTreeCellEditor

        javax.swing.tree.DefaultTreeCellEditor.DefaultTextField, javax.swing.tree.DefaultTreeCellEditor.EditorContainer
    • Field Summary

      • Fields inherited from class javax.swing.tree.DefaultTreeCellEditor

        borderSelectionColor, canEdit, editingComponent, editingContainer, editingIcon, font, lastPath, lastRow, offset, realEditor, renderer, timer, tree
    • Constructor Summary

      Constructors 
      Constructor Description
      DefaultXTreeCellEditor​(javax.swing.JTree tree, javax.swing.tree.DefaultTreeCellRenderer renderer)  
      DefaultXTreeCellEditor​(javax.swing.JTree tree, javax.swing.tree.DefaultTreeCellRenderer renderer, javax.swing.tree.TreeCellEditor editor)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      protected void applyComponentOrientation()  
      protected java.awt.Container createContainer()  
      javax.swing.tree.DefaultTreeCellRenderer getRenderer()  
      private boolean isRightToLeft()  
      protected void prepareForEditing()  
      void setRenderer​(javax.swing.tree.DefaultTreeCellRenderer renderer)  
      void updateUI()
      Implement UIDependent.
      • Methods inherited from class javax.swing.tree.DefaultTreeCellEditor

        actionPerformed, addCellEditorListener, cancelCellEditing, canEditImmediately, createTreeCellEditor, determineOffset, getBorderSelectionColor, getCellEditorListeners, getCellEditorValue, getFont, getTreeCellEditorComponent, inHitRegion, isCellEditable, removeCellEditorListener, setBorderSelectionColor, setFont, setTree, shouldSelectCell, shouldStartEditingTimer, startEditingTimer, stopCellEditing, valueChanged
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • DefaultXTreeCellEditor

        public DefaultXTreeCellEditor​(javax.swing.JTree tree,
                                      javax.swing.tree.DefaultTreeCellRenderer renderer)
      • DefaultXTreeCellEditor

        public DefaultXTreeCellEditor​(javax.swing.JTree tree,
                                      javax.swing.tree.DefaultTreeCellRenderer renderer,
                                      javax.swing.tree.TreeCellEditor editor)
    • Method Detail

      • setRenderer

        public void setRenderer​(javax.swing.tree.DefaultTreeCellRenderer renderer)
      • getRenderer

        public javax.swing.tree.DefaultTreeCellRenderer getRenderer()
      • createContainer

        protected java.awt.Container createContainer()
        Overrides:
        createContainer in class javax.swing.tree.DefaultTreeCellEditor
      • prepareForEditing

        protected void prepareForEditing()
        Overrides:
        prepareForEditing in class javax.swing.tree.DefaultTreeCellEditor
      • applyComponentOrientation

        protected void applyComponentOrientation()
      • isRightToLeft

        private boolean isRightToLeft()
        Returns:
      • updateUI

        public void updateUI()
        Implement UIDependent. Quick hack for #1060-swingx: icons lost on laf toggle.
        Specified by:
        updateUI in interface UIDependent
        See Also:
        JComponent.updateUI()