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 class
An 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 void
fireTreeNodesChanged
(Object pSrc, Object[] pPath, int[] pChildIndices, Object[] pChildren) protected void
fireTreeNodesInserted
(Object pSrc, Object[] pPath, int[] pChildIndices, Object[] pChildren) protected void
fireTreeNodesRemoved
(Object pSrc, Object[] pPath, int[] pChildIndices, Object[] pChildren) protected void
fireTreeStructureChanged
(Object pSrc, Object[] pPath, int[] pChildIndices, Object[] pChildren) int
getChildCount
(Object pParent) Class<?>
getColumnClass
(int pCol) Returns the type for column numbercolumn
.int
Returns the number of available columns.getColumnName
(int pCol) Returns the name for column numbercolumn
.protected Comparator
getComparator
(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
.boolean
isCellEditable
(Object pNode, int pCol) By default, make the column with the Tree in it the only editable one.static void
Opens a window with sample tree and rearrangement buttons.void
setColumnComparator
(Class<?> pType, Comparator<?> pComparator) void
setTableHeader
(JTableHeader pTableHeader) void
setValueAt
(Object pVal, Object pNode, int pCol) Sets the value for nodenode
, at column numbercolumn
.int
Get 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:
getRoot
in interfaceTreeModel
- Overrides:
getRoot
in classAbstractTreeTableModel
-
getColumnClass
Description copied from interface:TreeTableModel
Returns the type for column numbercolumn
.- Specified by:
getColumnClass
in interfaceTreeTableModel
- Overrides:
getColumnClass
in classAbstractTreeTableModel
-
getColumnCount
public int getColumnCount()Description copied from interface:TreeTableModel
Returns the number of available columns. -
getColumnName
Description copied from interface:TreeTableModel
Returns the name for column numbercolumn
. -
getChildCount
-
getValueAt
Description copied from interface:TreeTableModel
Returns the value to be displayed for nodenode
, at column numbercolumn
. -
isCellEditable
Description copied from class:AbstractTreeTableModel
By 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:
isCellEditable
in interfaceTreeTableModel
- Overrides:
isCellEditable
in classAbstractTreeTableModel
-
setValueAt
Description copied from interface:TreeTableModel
Sets the value for nodenode
, at column numbercolumn
.- Specified by:
setValueAt
in interfaceTreeTableModel
- Overrides:
setValueAt
in classAbstractTreeTableModel
-
getChild
-
viewIndex
Get index from underlying model. -
fireTreeNodesChanged
protected void fireTreeNodesChanged(Object pSrc, Object[] pPath, int[] pChildIndices, Object[] pChildren) - Overrides:
fireTreeNodesChanged
in classAbstractTreeTableModel
-
fireTreeNodesInserted
protected void fireTreeNodesInserted(Object pSrc, Object[] pPath, int[] pChildIndices, Object[] pChildren) - Overrides:
fireTreeNodesInserted
in classAbstractTreeTableModel
-
fireTreeNodesRemoved
protected void fireTreeNodesRemoved(Object pSrc, Object[] pPath, int[] pChildIndices, Object[] pChildren) - Overrides:
fireTreeNodesRemoved
in classAbstractTreeTableModel
-
fireTreeStructureChanged
protected void fireTreeStructureChanged(Object pSrc, Object[] pPath, int[] pChildIndices, Object[] pChildren) - Overrides:
fireTreeStructureChanged
in classAbstractTreeTableModel
-
getOldToNewIndexMap
Map from underlying model index to view index. -
setTableHeader
-
setColumnComparator
-
getComparator
-
main
Opens a window with sample tree and rearrangement buttons.
-