Package org.jdesktop.swingx
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 JTree
private TreeModelListener
private JXTreeTable
Fields inherited from class javax.swing.table.AbstractTableModel
listenerList
-
Constructor Summary
ConstructorsConstructorDescriptionTreeTableModelAdapter
(JTree tree) Maintains a TreeTableModel and a JTree as purely implementation details. -
Method Summary
Modifier and TypeMethodDescriptionprotected final void
bind
(JXTreeTable treeTable) Immutably binds this TreeTableModelAdapter to the specified JXTreeTable.private void
Invokes fireTableDataChanged after all the pending events have been processed.private void
delayedFireTableDataChanged
(TreeModelEvent tme, int typeChange) Invokes fireTableDataChanged after all the pending events have been processed.protected void
This is used for updated only.private void
Invokes fireTableDataChanged after all the pending events have been processed.Class
<?> getColumnClass
(int column) int
getColumnName
(int column) int
private TreeModelListener
protected JXTreeTable
Returns 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) boolean
isCellEditable
(int row, int column) private boolean
Decides if the given treeModel structureChanged should trigger a table structureChanged.protected Object
nodeForRow
(int row) void
setValueAt
(Object value, int row, int column) protected void
updates the table after having received an TreeExpansionEvent.Methods inherited from class javax.swing.table.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:TreeTableModelProvider
Returns a TreeTableModel, guaranteed to be not null.- Specified by:
getTreeTableModel
in interfaceTreeTableModelProvider
- Returns:
- a TreeTableModel, guaranteed to be not null.
-
getColumnClass
- Specified by:
getColumnClass
in interfaceTableModel
- Overrides:
getColumnClass
in classAbstractTableModel
-
getColumnCount
public int getColumnCount()- Specified by:
getColumnCount
in interfaceTableModel
-
getColumnName
- Specified by:
getColumnName
in interfaceTableModel
- Overrides:
getColumnName
in classAbstractTableModel
-
getRowCount
public int getRowCount()- Specified by:
getRowCount
in interfaceTableModel
-
getValueAt
- Specified by:
getValueAt
in interfaceTableModel
-
isCellEditable
public boolean isCellEditable(int row, int column) - Specified by:
isCellEditable
in interfaceTableModel
- Overrides:
isCellEditable
in classAbstractTableModel
-
setValueAt
- Specified by:
setValueAt
in interfaceTableModel
- Overrides:
setValueAt
in 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
-
-