Class JXTable.TableAdapter
- Direct Known Subclasses:
JXTreeTable.TreeTableDataAdapter
- Enclosing class:
- JXTable
-
Field Summary
Fields inherited from class org.jdesktop.swingx.decorator.ComponentAdapter
column, DEFAULT_COLUMN_IDENTIFIER, row, target -
Constructor Summary
ConstructorsConstructorDescriptionTableAdapter(JXTable component) Constructs aTableDataAdapterfor the specified target component. -
Method Summary
Modifier and TypeMethodDescriptionintconvertColumnIndexToModel(int columnIndex) For target components that support multiple columns in their model, along with column reordering in the view, this method transforms the specified columnIndex from view coordinates to model coordinates.intconvertColumnIndexToView(int columnIndex) For target components that support multiple columns in their model, along with column reordering in the view, this method transforms the specified columnIndex from model coordinates to view coordinates.intconvertRowIndexToModel(int rowViewIndex) Converts a row index in view coordinates to an index in model coordinates.intconvertRowIndexToView(int rowModelIndex) Converts a row index in model coordinates to an index in view coordinates.Returns the bounds of the cell identified by this adapter.protected TableColumngetColumnByModelIndex(int modelColumn) Returns the first contained TableColumn with the given model index, or null if none is found.Class<?>getColumnClass(int column) Returns the common class of all data column identified by the given column index in model coordinates.intReturns the number of columns in the target's data model.getColumnIdentifierAt(int columnIndex) Returns logical identifier of the column at columnIndex in model coordinates.intgetColumnIndex(Object identifier) Returns the column index in model coordinates for the logical identifier.getColumnName(int columnIndex) Returns the column's display name (= headerValue) of the column at columnIndex in model coordinates.intReturns the number of rows in the target's data model.getStringAt(int row, int column) Returns the String representation of the value of the cell identified by the row specified row and column in model coordinates.getTable()Typesafe accessor for the target component.getValueAt(int row, int column) Returns the value of the target component's cell identified by the specified row and column in model coordinates.booleanhasFocus()Returns true if the cell identified by this adapter currently has focus.booleanisCellEditable(int row, int column) Determines whether this cell is editable.booleanReturnstrueif the cell identified by this adapter is editable,falseotherwise.booleanReturns true if the cell identified by this adapter is currently selected.booleanisTestable(int column) Returns true if the column should be included in testing.Methods inherited from class org.jdesktop.swingx.decorator.ComponentAdapter
getColumnClass, getComponent, getDepth, getFilteredStringAt, getFilteredValueAt, getString, getString, getValue, getValue, isExpanded, isHierarchical, isLeaf
-
Constructor Details
-
TableAdapter
Constructs aTableDataAdapterfor the specified target component.- Parameters:
component- the target component
-
-
Method Details
-
getTable
Typesafe accessor for the target component.- Returns:
- the target component as a
JTable
-
getColumnName
Returns the column's display name (= headerValue) of the column at columnIndex in model coordinates. Used f.i. in SearchPanel to fill the field with the column name.Note: it's up to the implementation to decide for which columns it returns a name - most will do so for the subset with isTestable = true. This implementation delegates to getColumnIdentifierAt and returns it's toString or null.
- Overrides:
getColumnNamein classComponentAdapter- Parameters:
columnIndex- in model coordinates- Returns:
- column name or null if not found
-
getColumnByModelIndex
Returns the first contained TableColumn with the given model index, or null if none is found.- Parameters:
modelColumn- the column index in model coordinates, must be valid- Returns:
- the first contained TableColumn with the given model index, or null if none is found
-
getColumnIdentifierAt
Returns logical identifier of the column at columnIndex in model coordinates. Note: it's up to the implementation to decide for which columns it returns an identifier - most will do so for the subset with isTestable = true.This implementation returns DEFAULT_COLUMN_IDENTIFIER. PENDING JW: This method replaces the old getColumnIdentifier(int) which returned a String which is overly restrictive. The only way to gently replace this method was to add this with a different name - which makes this name suboptimal. Probably should rename again once the old has died out ;-)
- Overrides:
getColumnIdentifierAtin classComponentAdapter- Parameters:
columnIndex- in model coordinates, must be valid.- Returns:
- the identifier of the column at columnIndex or null if it has none.
- See Also:
-
getColumnIndex
Returns the column index in model coordinates for the logical identifier.This implementation returns 0 if the identifier is the same as the one known identifier returned from getColumnIdentifierAt(0), or -1 otherwise. So subclasses with one column and a customizable identifier need not override. Subclasses which support multiple columns must override this as well to keep the contract as in (assuming that the lookup succeeded):
Object id = getColumnIdentifierAt(index); assertEquals(index, getColumnIndex(index); // and the reverse int column = getColumnIndex(identifier); assertEquals(identifier, getColumnIdentifierAt(column));- Overrides:
getColumnIndexin classComponentAdapter- Parameters:
identifier- the column's identifier, must not be null- Returns:
- the index of the column identified by identifier in model coordinates or -1 if no column with the given identifier is found.
- See Also:
-
getColumnClass
Returns the common class of all data column identified by the given column index in model coordinates.This implementation returns
Object.class. Subclasses should implement as appropriate.- Overrides:
getColumnClassin classComponentAdapter- Parameters:
column- not used here- Returns:
- the common class of all data given column in model coordinates.
- See Also:
-
getColumnCount
public int getColumnCount()Returns the number of columns in the target's data model.- Overrides:
getColumnCountin classComponentAdapter- Returns:
- the number of columns in the target's data model.
-
getRowCount
public int getRowCount()Returns the number of rows in the target's data model.- Overrides:
getRowCountin classComponentAdapter- Returns:
- the number of rows in the target's data model.
-
getValueAt
Returns the value of the target component's cell identified by the specified row and column in model coordinates.- Specified by:
getValueAtin classComponentAdapter- Parameters:
row- in model coordinatescolumn- in model coordinates- Returns:
- the value of the target component's cell identified by the specified row and column
-
isCellEditable
public boolean isCellEditable(int row, int column) Determines whether this cell is editable.- Specified by:
isCellEditablein classComponentAdapter- Parameters:
row- the row to query in model coordinatescolumn- the column to query in model coordinates- Returns:
trueif the cell is editable,falseotherwise
-
isTestable
public boolean isTestable(int column) Returns true if the column should be included in testing.Here: returns true if visible (that is modelToView gives a valid view column coordinate).
- Overrides:
isTestablein classComponentAdapter- Parameters:
column- the column index in model coordinates- Returns:
- true if the column should be included in testing
-
getStringAt
Returns the String representation of the value of the cell identified by the row specified row and column in model coordinates.This implementation messages the StringValue.TO_STRING with the valueAt, subclasses should re-implement and use the api appropriate for the target component type. This is implemented to query the table's StringValueRegistry for an appropriate StringValue and use that for getting the string representation.
- Overrides:
getStringAtin classComponentAdapter- Parameters:
row- in model coordinatescolumn- in model coordinates- Returns:
- the value of the target component's cell identified by the specified row and column
-
getCellBounds
Returns the bounds of the cell identified by this adapter.- Overrides:
getCellBoundsin classComponentAdapter- Returns:
- the bounds of the cell identified by this adapter
-
isEditable
public boolean isEditable()Returnstrueif the cell identified by this adapter is editable,falseotherwise.- Specified by:
isEditablein classComponentAdapter- Returns:
trueif the cell is editable,falseotherwise
-
isSelected
public boolean isSelected()Returns true if the cell identified by this adapter is currently selected. Otherwise, it returns false.- Specified by:
isSelectedin classComponentAdapter- Returns:
- true if the cell identified by this adapter is currently selected; Otherwise, return false
-
hasFocus
public boolean hasFocus()Returns true if the cell identified by this adapter currently has focus. Otherwise, it returns false.- Specified by:
hasFocusin classComponentAdapter- Returns:
- true if the cell identified by this adapter currently has focus; Otherwise, return false
-
convertColumnIndexToView
public int convertColumnIndexToView(int columnIndex) For target components that support multiple columns in their model, along with column reordering in the view, this method transforms the specified columnIndex from model coordinates to view coordinates. For all other types of target components, this method returns the columnIndex unchanged.- Overrides:
convertColumnIndexToViewin classComponentAdapter- Parameters:
columnIndex- index of a column in model coordinates- Returns:
- index of the specified column in view coordinates
-
convertColumnIndexToModel
public int convertColumnIndexToModel(int columnIndex) For target components that support multiple columns in their model, along with column reordering in the view, this method transforms the specified columnIndex from view coordinates to model coordinates. For all other types of target components, this method returns the columnIndex unchanged.- Overrides:
convertColumnIndexToModelin classComponentAdapter- Parameters:
columnIndex- index of a column in view coordinates- Returns:
- index of the specified column in model coordinates
-
convertRowIndexToView
public int convertRowIndexToView(int rowModelIndex) Converts a row index in model coordinates to an index in view coordinates.- Overrides:
convertRowIndexToViewin classComponentAdapter- Parameters:
rowModelIndex- index of a row in model coordinates- Returns:
- index of the specified row in view coordinates
-
convertRowIndexToModel
public int convertRowIndexToModel(int rowViewIndex) Converts a row index in view coordinates to an index in model coordinates.- Overrides:
convertRowIndexToModelin classComponentAdapter- Parameters:
rowViewIndex- index of a row in view coordinates- Returns:
- index of the specified row in model coordinates
-