|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.jdesktop.swingx.decorator.ComponentAdapter
org.jdesktop.swingx.JXTable.TableAdapter
protected static class JXTable.TableAdapter
Field Summary |
---|
Fields inherited from class org.jdesktop.swingx.decorator.ComponentAdapter |
---|
column, DEFAULT_COLUMN_IDENTIFIER, row, target |
Constructor Summary | |
---|---|
JXTable.TableAdapter(JXTable component)
Constructs a TableDataAdapter for the specified target
component. |
Method Summary | |
---|---|
protected TableColumn |
getColumnByModelIndex(int modelColumn)
|
int |
getColumnCount()
Returns the number of columns in the target's data model. |
Object |
getColumnIdentifierAt(int columnIndex)
Returns logical identifier of the column at columnIndex in model coordinates. |
int |
getColumnIndex(Object identifier)
Returns the column index in model coordinates for the logical identifier. |
String |
getColumnName(int columnIndex)
Returns the column's display name (= headerValue) of the column at columnIndex in model coordinates. |
String |
getFilteredStringAt(int row,
int column)
Returns the String representation of the filtered value of the cell identified by the row in view coordinate and the column in model coordinates. |
Object |
getFilteredValueAt(int row,
int column)
Returns the filtered value of the cell identified by the row in view coordinate and the column in model coordinates. |
int |
getRowCount()
Returns the number of rows in the target's data model. |
String |
getString()
Returns the String representation of the value of the cell identified by this adapter. |
String |
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. |
JXTable |
getTable()
Typesafe accessor for the target component. |
Object |
getValue()
Returns the value of the cell identified by this adapter. |
Object |
getValueAt(int row,
int column)
Returns the value of the target component's cell identified by the specified row and column in model coordinates. |
boolean |
hasFocus()
Returns true if the cell identified by this adapter currently has focus. |
boolean |
isCellEditable(int row,
int column)
Determines whether this cell is editable. |
boolean |
isEditable()
Returns true if the cell identified by this adapter is editable,
false otherwise. |
boolean |
isSelected()
Returns true if the cell identified by this adapter is currently selected. |
boolean |
isTestable(int column)
Returns true if the column should be included in testing. |
int |
modelToView(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. |
void |
setValueAt(Object aValue,
int row,
int column)
Sets the value of the target component's cell identified by the specified row and column in model coordinates. |
int |
viewToModel(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. |
Methods inherited from class org.jdesktop.swingx.decorator.ComponentAdapter |
---|
getComponent, getDepth, getString, getValue, isExpanded, isHierarchical, isLeaf, refresh |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public JXTable.TableAdapter(JXTable component)
TableDataAdapter
for the specified target
component.
component
- the target componentMethod Detail |
---|
public JXTable getTable()
JTable
public String getColumnName(int columnIndex)
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.
getColumnName
in class ComponentAdapter
columnIndex
- in model coordinates
protected TableColumn getColumnByModelIndex(int modelColumn)
public Object getColumnIdentifierAt(int columnIndex)
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 ;-)
getColumnIdentifierAt
in class ComponentAdapter
columnIndex
- in model coordinates, must be valid.
ComponentAdapter.getColumnIndex(Object)
public int getColumnIndex(Object 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));
getColumnIndex
in class ComponentAdapter
identifier
- the column's identifier, must not be null
ComponentAdapter.getColumnIdentifierAt(int)
public int getColumnCount()
getColumnCount
in class ComponentAdapter
public int getRowCount()
getRowCount
in class ComponentAdapter
public Object getValueAt(int row, int column)
getValueAt
in class ComponentAdapter
row
- in model coordinatescolumn
- in model coordinates
public void setValueAt(Object aValue, int row, int column)
setValueAt
in class ComponentAdapter
aValue
- the value to setrow
- in model coordinatescolumn
- in model coordinatespublic boolean isCellEditable(int row, int column)
isCellEditable
in class ComponentAdapter
row
- the row to query in model coordinatescolumn
- the column to query in model coordinates
true
if the cell is editable, false
otherwisepublic boolean isTestable(int column)
Here: returns true if visible (that is modelToView gives a valid view column coordinate).
isTestable
in class ComponentAdapter
column
- the column index in model coordinates
public Object getFilteredValueAt(int row, int column)
getFilteredValueAt
in class ComponentAdapter
row
- the row of the cell in view coordinatescolumn
- the column of the cell in model coordinates.
public Object getValue()
NOTE: this implementation assumes that view coordinates == model coordinates, that is simply calls getValueAt(this.row, this.column). It is up to subclasses to override appropriately is they support model/view coordinate transformation.
getValue
in class ComponentAdapter
ComponentAdapter.getValueAt(int, int)
,
ComponentAdapter.getFilteredValueAt(int, int)
,
ComponentAdapter.getValue(int)
public String getFilteredStringAt(int row, int column)
Note: the asymetry of the coordinates is intentional - clients like Highlighters are interested in view values but might need to access non-visible columns for testing. While it is possible to access row coordinates different from the current (that is this.row) it is not safe to do so for row > this.row because the adapter doesn't allow to query the count of visible rows.
This implementation messages the StringValue.TO_STRING with the filteredValue, subclasses should re-implement and use the api appropriate for the target component type.
PENDING JW: what about null cell values? StringValue has a contract to return a empty string then, would that be okay here as well?
PENDING JW: this is implemented to duplicate this table's lookup code if the column is not visible. That's not good enough if subclasses implemented a different strategy! We do it anyway for now, mostly we will be lucky and improve the situation against using toString always.
getFilteredStringAt
in class ComponentAdapter
row
- the row of the cell in view coordinatescolumn
- the column of the cell in model coordinates.
public String getString()
NOTE: this implementation assumes that view coordinates == model coordinates, that is simply calls getValueAt(this.row, this.column). It is up to subclasses to override appropriately is they support model/view coordinate transformation.
This implementation messages the StringValue.TO_STRING with the getValue, subclasses should re-implement and use the api appropriate for the target component type.
getString
in class ComponentAdapter
ComponentAdapter.getValueAt(int, int)
,
ComponentAdapter.getFilteredValueAt(int, int)
,
ComponentAdapter.getValue(int)
public String getStringAt(int row, int column)
This implementation messages the StringValue.TO_STRING with the valueAt, subclasses should re-implement and use the api appropriate for the target component type.
PENDING JW: this is implemented to duplicate this table's lookup code if either the row or the column is not visible. That's not good enough if subclasses implemented a different strategy! We do it anyway for now, mostly we will be lucky and improve the situation against using toString always.
getStringAt
in class ComponentAdapter
row
- in model coordinatescolumn
- in model coordinates
public boolean isEditable()
true
if the cell identified by this adapter is editable,
false
otherwise.
isEditable
in class ComponentAdapter
true
if the cell is editable, false
otherwisepublic boolean isSelected()
isSelected
in class ComponentAdapter
public boolean hasFocus()
hasFocus
in class ComponentAdapter
public int modelToView(int columnIndex)
modelToView
in class ComponentAdapter
columnIndex
- index of a column in model coordinates
public int viewToModel(int columnIndex)
viewToModel
in class ComponentAdapter
columnIndex
- index of a column in view coordinates
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |