Class AbstractTreeTableModel

  • All Implemented Interfaces:
    TreeModel, TreeTableModel
    Direct Known Subclasses:
    DefaultTreeTableModel, FileSystemModel

    public abstract class AbstractTreeTableModel
    extends Object
    implements TreeTableModel
    AbstractTreeTableModel provides an implementation of TreeTableModel as a convenient starting point in defining custom data models for JXTreeTable. It takes care of listener management and contains convenience methods for creating and dispatching TreeModelEvents. To create a concreate instance of TreeTableModel you need only to provide implementations for the following methods:
     public int getColumnCount();
     public Object getValueAt(Object node, int column);
     public Object getChild(Object parent, int index);
     public int getChildCount(Object parent);
     public int getIndexOfChild(Object parent, Object child);
     public boolean isLeaf(Object node);
     
    Author:
    Ramesh Gupta, Karl Schaefer
    • Field Detail

      • root

        protected Object root
        Root node of the model
      • modelSupport

        protected TreeModelSupport modelSupport
        Provides support for event dispatching.
    • Constructor Detail

      • AbstractTreeTableModel

        public AbstractTreeTableModel()
        Constructs an AbstractTreeTableModel with a null root node.
      • AbstractTreeTableModel

        public AbstractTreeTableModel​(Object root)
        Constructs an AbstractTreeTableModel with the specified root node.
        Parameters:
        root - root node
    • Method Detail

      • getColumnClass

        public Class<?> getColumnClass​(int column)
        Returns the most specific superclass for all the cell values in the column. This is used by the JXTreeTable to set up a default renderer and editor for the column.
        Specified by:
        getColumnClass in interface TreeTableModel
        Parameters:
        column - the index of the column
        Returns:
        the common ancestor class of the object values in the model.
        See Also:
        TableModel.getColumnClass(int)
      • getColumnName

        public String getColumnName​(int column)
        Returns the name of the column at columnIndex. This is used to initialize the table's column header name. Note: this name does not need to be unique; two columns in a table can have the same name.
        Specified by:
        getColumnName in interface TreeTableModel
        Parameters:
        column - the index of the column
        Returns:
        the name of the column
        See Also:
        TableModel.getColumnName(int)
      • getHierarchicalColumn

        public int getHierarchicalColumn()
        Returns the column that is the "tree" column. While it is not required, most implementations will default the first column to be the hierarchical one.
        Specified by:
        getHierarchicalColumn in interface TreeTableModel
        Returns:
        the index of the hierarchical column or -1 if no column is the hierarchical column.
      • isLeaf

        public boolean isLeaf​(Object node)
        Returns true if node is a leaf.
        Specified by:
        isLeaf in interface TreeModel
        Parameters:
        node - a node in the tree, obtained from this data source
        Returns:
        true if node is a leaf
      • valueForPathChanged

        public void valueForPathChanged​(TreePath path,
                                        Object newValue)
        Called when value for the item identified by path has been changed. If newValue signifies a truly new value the model should post a treeNodesChanged event.

        Specified by:
        valueForPathChanged in interface TreeModel
        Parameters:
        path - path to the node that has changed
        newValue - the new value from the TreeCellEditor
      • getTreeModelListeners

        public TreeModelListener[] getTreeModelListeners()
        Returns an array of all the TreeModelListeners added to this JXTreeTable with addTreeModelListener().
        Returns:
        all of the TreeModelListeners added or an empty array if no listeners have been added