java.lang.Object
com.iamsoft.util.ui.swing.AbstractTreeTableModel
com.iamsoft.util.ui.swing.TreeTableSorter
- All Implemented Interfaces:
TreeTableModel,TreeModel
Allow users to sort TreeTables. Sibling nodes are sorted with respect to one another.
Sibling nodes must always be displayed next to one another. It would be nice to
allow different sorting directives based on tree depth but this is not currently
possible. Requires commons-colletions.
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classAn applet that demonstrates how to use rearrangeable models. -
Field Summary
Fields inherited from class com.iamsoft.util.ui.swing.AbstractTreeTableModel
listenerList, root -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidfireTreeNodesChanged(Object pSrc, Object[] pPath, int[] pChildIndices, Object[] pChildren) protected voidfireTreeNodesInserted(Object pSrc, Object[] pPath, int[] pChildIndices, Object[] pChildren) protected voidfireTreeNodesRemoved(Object pSrc, Object[] pPath, int[] pChildIndices, Object[] pChildren) protected voidfireTreeStructureChanged(Object pSrc, Object[] pPath, int[] pChildIndices, Object[] pChildren) intgetChildCount(Object pParent) Class<?>getColumnClass(int pCol) Returns the type for column numbercolumn.intReturns the number of available columns.getColumnName(int pCol) Returns the name for column numbercolumn.protected ComparatorgetComparator(int pCol) getOldToNewIndexMap(Object pNode) Map from underlying model index to view index.getRoot()Map from column index to sort directive.getValueAt(Object pNode, int pCol) Returns the value to be displayed for nodenode, at column numbercolumn.booleanisCellEditable(Object pNode, int pCol) By default, make the column with the Tree in it the only editable one.static voidOpens a window with sample tree and rearrangement buttons.voidsetColumnComparator(Class<?> pType, Comparator<?> pComparator) voidsetTableHeader(JTableHeader pTableHeader) voidsetValueAt(Object pVal, Object pNode, int pCol) Sets the value for nodenode, at column numbercolumn.intGet index from underlying model.Methods inherited from class com.iamsoft.util.ui.swing.AbstractTreeTableModel
addTreeModelListener, getIndexOfChild, isLeaf, removeTreeModelListener, valueForPathChanged
-
Constructor Details
-
TreeTableSorter
-
-
Method Details
-
getSortDirectives
Map from column index to sort directive. Updating this map will likely cause TreeTableModel events to be fired due to resorting. If performance is a concern, it is better to call bulk modification methods ('addAll', 'clear', 'removeAll') rather than making repeated calls to 'add' and 'remove'. This map is backed by a LinkedHashMap so order is maintained during additions. null not permitted. -
getRoot
- Specified by:
getRootin interfaceTreeModel- Overrides:
getRootin classAbstractTreeTableModel
-
getColumnClass
Description copied from interface:TreeTableModelReturns the type for column numbercolumn.- Specified by:
getColumnClassin interfaceTreeTableModel- Overrides:
getColumnClassin classAbstractTreeTableModel
-
getColumnCount
public int getColumnCount()Description copied from interface:TreeTableModelReturns the number of available columns. -
getColumnName
Description copied from interface:TreeTableModelReturns the name for column numbercolumn. -
getChildCount
-
getValueAt
Description copied from interface:TreeTableModelReturns the value to be displayed for nodenode, at column numbercolumn. -
isCellEditable
Description copied from class:AbstractTreeTableModelBy default, make the column with the Tree in it the only editable one. Making this column editable causes the JTable to forward mouse and keyboard events in the Tree column to the underlying JTree.- Specified by:
isCellEditablein interfaceTreeTableModel- Overrides:
isCellEditablein classAbstractTreeTableModel
-
setValueAt
Description copied from interface:TreeTableModelSets the value for nodenode, at column numbercolumn.- Specified by:
setValueAtin interfaceTreeTableModel- Overrides:
setValueAtin classAbstractTreeTableModel
-
getChild
-
viewIndex
Get index from underlying model. -
fireTreeNodesChanged
protected void fireTreeNodesChanged(Object pSrc, Object[] pPath, int[] pChildIndices, Object[] pChildren) - Overrides:
fireTreeNodesChangedin classAbstractTreeTableModel
-
fireTreeNodesInserted
protected void fireTreeNodesInserted(Object pSrc, Object[] pPath, int[] pChildIndices, Object[] pChildren) - Overrides:
fireTreeNodesInsertedin classAbstractTreeTableModel
-
fireTreeNodesRemoved
protected void fireTreeNodesRemoved(Object pSrc, Object[] pPath, int[] pChildIndices, Object[] pChildren) - Overrides:
fireTreeNodesRemovedin classAbstractTreeTableModel
-
fireTreeStructureChanged
protected void fireTreeStructureChanged(Object pSrc, Object[] pPath, int[] pChildIndices, Object[] pChildren) - Overrides:
fireTreeStructureChangedin classAbstractTreeTableModel
-
getOldToNewIndexMap
Map from underlying model index to view index. -
setTableHeader
-
setColumnComparator
-
getComparator
-
main
Opens a window with sample tree and rearrangement buttons.
-