Interface TreeTableModel

  • All Superinterfaces:
    javax.swing.tree.TreeModel
    All Known Implementing Classes:
    AbstractTreeTableModel, DefaultTreeTableModel, FileSystemModel, SimpleFileSystemModel

    public interface TreeTableModel
    extends javax.swing.tree.TreeModel
    The model used by JXTreeTable.

    This model is a combination of TreeModel and TableModel for use with the tree table. It does not actually extends TableModel, but instead copies method signature as appropriate and alters other to work with the underlying TreeModel.

    See Also:
    TreeModel, TableModel
    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      java.lang.Class<?> getColumnClass​(int columnIndex)
      Returns the most specific superclass for all the cell values in the column.
      int getColumnCount()
      Returns the number of columns in the model.
      java.lang.String getColumnName​(int column)
      Returns the name of the column at columnIndex.
      int getHierarchicalColumn()
      Returns the column that is the "tree" column.
      java.lang.Object getValueAt​(java.lang.Object node, int column)
      Returns the value for the node at columnIndex.
      boolean isCellEditable​(java.lang.Object node, int column)
      Returns true if the cell for the node at columnIndex is editable.
      void setValueAt​(java.lang.Object value, java.lang.Object node, int column)
      Sets the value for the node at columnIndex to value.
      • Methods inherited from interface javax.swing.tree.TreeModel

        addTreeModelListener, getChild, getChildCount, getIndexOfChild, getRoot, isLeaf, removeTreeModelListener, valueForPathChanged
    • Method Detail

      • getColumnClass

        java.lang.Class<?> getColumnClass​(int columnIndex)
        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.
        Parameters:
        columnIndex - the index of the column
        Returns:
        the common ancestor class of the object values in the model.
        See Also:
        TableModel.getColumnClass(int)
      • getColumnCount

        int getColumnCount()
        Returns the number of columns in the model. A JXTreeTable uses this method to determine how many columns it should create and display by default.
        Returns:
        the number of columns in the model
        See Also:
        TableModel.getColumnCount()
      • getColumnName

        java.lang.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.
        Parameters:
        column - the index of the column
        Returns:
        the name of the column
        See Also:
        TableModel.getColumnName(int)
      • getHierarchicalColumn

        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.
        Returns:
        the index of the hierarchical column or -1 if no column is the hierarchical column.
      • getValueAt

        java.lang.Object getValueAt​(java.lang.Object node,
                                    int column)
        Returns the value for the node at columnIndex. The node must be managed by this model. Unamanaged nodes should throw an IllegalArgumentException.
        Parameters:
        node - the node whose value is to be queried
        column - the column whose value is to be queried
        Returns:
        the value Object at the specified cell
        Throws:
        java.lang.IllegalArgumentException - if node is not managed by this model.
        See Also:
        setValueAt(java.lang.Object, java.lang.Object, int), TableModel.getValueAt(int, int)
      • isCellEditable

        boolean isCellEditable​(java.lang.Object node,
                               int column)
        Returns true if the cell for the node at columnIndex is editable. Otherwise, setValueAt on the cell will not change the value of that cell. The node must be managed by this model. Unamanaged nodes should throw an IllegalArgumentException.
        Parameters:
        node - the node whose value to be queried
        column - the column whose value to be queried
        Returns:
        true if the cell is editable
        Throws:
        java.lang.IllegalArgumentException - if node is not managed by this model.
        See Also:
        setValueAt(java.lang.Object, java.lang.Object, int), TableModel.isCellEditable(int, int)
      • setValueAt

        void setValueAt​(java.lang.Object value,
                        java.lang.Object node,
                        int column)
        Sets the value for the node at columnIndex to value. The node must be managed by this model. Unamanaged nodes should throw an IllegalArgumentException.
        Parameters:
        value - the new value
        node - the node whose value is to be changed
        column - the column whose value is to be changed
        Throws:
        java.lang.IllegalArgumentException - if node is not managed by this model.
        See Also:
        getValueAt(java.lang.Object, int), isCellEditable(java.lang.Object, int), TableModel.setValueAt(Object, int, int)