Class JXTreeTable.TreeTableModelAdapter
java.lang.Object
javax.swing.table.AbstractTableModel
org.jdesktop.swingx.JXTreeTable.TreeTableModelAdapter
- All Implemented Interfaces:
Serializable, TableModel, TreeTableModelProvider
- Enclosing class:
JXTreeTable
protected static class JXTreeTable.TreeTableModelAdapter
extends AbstractTableModel
implements TreeTableModelProvider
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final JTreeprivate TreeModelListenerprivate JXTreeTableFields inherited from class AbstractTableModel
listenerList -
Constructor Summary
ConstructorsConstructorDescriptionTreeTableModelAdapter(JTree tree) Maintains a TreeTableModel and a JTree as purely implementation details. -
Method Summary
Modifier and TypeMethodDescriptionprotected final voidbind(JXTreeTable treeTable) Immutably binds this TreeTableModelAdapter to the specified JXTreeTable.private voidInvokes fireTableDataChanged after all the pending events have been processed.private voiddelayedFireTableDataChanged(TreeModelEvent tme, int typeChange) Invokes fireTableDataChanged after all the pending events have been processed.protected voidThis is used for updated only.private voidInvokes fireTableDataChanged after all the pending events have been processed.Class<?> getColumnClass(int column) intgetColumnName(int column) intprivate TreeModelListenerprotected JXTreeTableReturns the JXTreeTable instance to which this TreeTableModelAdapter is permanently and exclusively bound.Returns a TreeTableModel, guaranteed to be not null.getValueAt(int row, int column) booleanisCellEditable(int row, int column) private booleanDecides if the given treeModel structureChanged should trigger a table structureChanged.protected ObjectnodeForRow(int row) voidsetValueAt(Object value, int row, int column) protected voidupdates the table after having received an TreeExpansionEvent.Methods inherited from class AbstractTableModel
addTableModelListener, findColumn, fireTableCellUpdated, fireTableChanged, fireTableDataChanged, fireTableRowsDeleted, fireTableRowsInserted, fireTableRowsUpdated, fireTableStructureChanged, getListeners, getTableModelListeners, removeTableModelListener
-
Field Details
-
treeModelListener
-
tree
-
treeTable
-
-
Constructor Details
-
TreeTableModelAdapter
TreeTableModelAdapter(JTree tree) Maintains a TreeTableModel and a JTree as purely implementation details. Developers can plug in any type of custom TreeTableModel through a JXTreeTable constructor or through setTreeTableModel().- Parameters:
tree- TreeTableCellRenderer instantiated with the same model as the driving JXTreeTable's TreeTableModel.- Throws:
IllegalArgumentException- if a null tree argument is passed
-
-
Method Details
-
updateAfterExpansionEvent
updates the table after having received an TreeExpansionEvent.- Parameters:
event- the TreeExpansionEvent which triggered the method call.
-
getTreeTable
Returns the JXTreeTable instance to which this TreeTableModelAdapter is permanently and exclusively bound. For use byJXTreeTable.setModel(javax.swing.table.TableModel).- Returns:
- JXTreeTable to which this TreeTableModelAdapter is permanently bound
-
bind
Immutably binds this TreeTableModelAdapter to the specified JXTreeTable.- Parameters:
treeTable- the JXTreeTable instance that this adapter is bound to.
-
getTreeTableModel
Description copied from interface:TreeTableModelProviderReturns a TreeTableModel, guaranteed to be not null.- Specified by:
getTreeTableModelin interfaceTreeTableModelProvider- Returns:
- a TreeTableModel, guaranteed to be not null.
-
getColumnClass
- Specified by:
getColumnClassin interfaceTableModel- Overrides:
getColumnClassin classAbstractTableModel
-
getColumnCount
public int getColumnCount()- Specified by:
getColumnCountin interfaceTableModel
-
getColumnName
- Specified by:
getColumnNamein interfaceTableModel- Overrides:
getColumnNamein classAbstractTableModel
-
getRowCount
public int getRowCount()- Specified by:
getRowCountin interfaceTableModel
-
getValueAt
- Specified by:
getValueAtin interfaceTableModel
-
isCellEditable
public boolean isCellEditable(int row, int column) - Specified by:
isCellEditablein interfaceTableModel- Overrides:
isCellEditablein classAbstractTableModel
-
setValueAt
- Specified by:
setValueAtin interfaceTableModel- Overrides:
setValueAtin classAbstractTableModel
-
nodeForRow
-
getTreeModelListener
- Returns:
TreeModelListener
-
isTableStructureChanged
Decides if the given treeModel structureChanged should trigger a table structureChanged. Returns true if the source path is the root or null, false otherwise.PENDING: need to refine? "Marker" in Event-Object?
- Parameters:
e- the TreeModelEvent received in the treeModelListener's treeStructureChanged- Returns:
- a boolean indicating whether the given TreeModelEvent should trigger a structureChanged.
-
delayedFireTableStructureChanged
private void delayedFireTableStructureChanged()Invokes fireTableDataChanged after all the pending events have been processed. SwingUtilities.invokeLater is used to handle this. -
delayedFireTableDataChanged
private void delayedFireTableDataChanged()Invokes fireTableDataChanged after all the pending events have been processed. SwingUtilities.invokeLater is used to handle this. -
delayedFireTableDataChanged
Invokes fireTableDataChanged after all the pending events have been processed. SwingUtilities.invokeLater is used to handle this. Allowed event types: 1 for insert, 2 for delete -
delayedFireTableDataUpdated
This is used for updated only. PENDING: not necessary to delay? Updates are never structural changes which are the critical.- Parameters:
tme-
-