JIDE 3.5.15

com.jidesoft.grid
Class TreeTableModel<T extends Row>

java.lang.Object
  extended by javax.swing.table.AbstractTableModel
      extended by com.jidesoft.grid.TreeTableModel<T>
All Implemented Interfaces:
ContextSensitiveTableModel, IndexChangeEventGenerator, ITreeTableModel<T>, MultiTableModel, Serializable, TableModel
Direct Known Subclasses:
AbstractGroupTableModel, DefaultGanttTreeTableModel, PropertyTableModel

public abstract class TreeTableModel<T extends Row>
extends AbstractTableModel
implements ContextSensitiveTableModel, MultiTableModel, ITreeTableModel<T>, IndexChangeEventGenerator

TreeTableModel is the table model used by TreeTable.

The most information thing about a TreeTableModel has to have a list of rows. We called it original rows. You can either specify it by using constructor TreeTableModel(java.util.List) or call setOriginalRows(java.util.List). The items in this list should be an instance of Row.

Once you create the list of Rows and set it to TreeTableModel, you can set the model to TreeTable. That's pretty much all you need to do if you just want to view it.

There are also a few methods for changing the table data. addRow(Row) will add a new Row to the end. addRow(int,Row) will add the Row after the specified index. Or addRow(int,Row,boolean) will give you a chance to add before or after a certain index. In addition, addRow(Row,Row) adds a row to the specified parent row. There are two remove methods. removeRow(Row) can remove any Row from the table model, no matter if it is in nested children. removeRow(int) will remove the Row as long as it's visible because the index passed in has to be a valid index on the table.

You can also move up and move down the row within its current level using moveUpRow(Row) and moveDownRow(Row) respectively.

If those modification methods above still can't get what you want, you can always change the original rows. After you are done with the change, call refresh() method once to refresh the table.

See Also:
Serialized Form

Field Summary
protected  boolean _filtersApplied
          A flag to turn on/off filters.
 
Fields inherited from class javax.swing.table.AbstractTableModel
listenerList
 
Fields inherited from interface com.jidesoft.grid.MultiTableModel
FOOTER_COLUMN, HEADER_COLUMN, REGULAR_COLUMN
 
Constructor Summary
TreeTableModel()
          Creates an empty TreeTableModel.
TreeTableModel(List<? extends T> rows)
          Creates TreeTableModel from a list of rows.
 
Method Summary
 void addIndexChangeListener(IndexChangeListener l)
          Add IndexChangelistener.
 void addRow(int index, T row)
          Adds a row at the specified index.
 void addRow(int index, T row, boolean before)
          Adds a row at the specified index.
 void addRow(T row)
          Adds a row to the root level of the table model.
 void addRow(T parentRow, int position, T row)
          Adds row to the parentRow.
 void addRow(T parentRow, T row)
          Adds row to the parentRow.
 void addRows(int index, List<? extends T> rows)
          Adds a row at the specified index.
 void addRows(int index, List<? extends T> rows, boolean before)
          Adds a row at the specified index.
 void addRows(List<? extends T> rows)
          Adds a row to the root level of the table model.
 void addRows(T parentRow, int position, List<? extends T> rows)
          Adds row to the parentRow.
 void addRows(T parentRow, List<? extends T> rows)
          Adds row to the parentRow.
protected  List<T> buildRows(List<? extends T> rows)
          Rebuilds the displayed rows from the original rows.
protected  void cacheAll(int deleteOrInsert, int startRowIndex, int rowCount)
          Caches all.
 void collapseAll()
          Collapse all rows which have children.
 void collapseFirstLevel()
          Collapses all top level rows only.
 void collapseLastLevel()
          Collapses all top level rows only.
 void collapseRows(List<? extends T> rows, boolean digIn)
          Collapse the rows in the list.
protected  CompoundTableModelEvent createCompoundTableModelEvent()
          Creates a CompoundTableModelEvent.
protected  ExpandableRow createRoot()
          Creates ExpandableRow which will be used as the root row.
protected  List<T> createRows()
          Creates the List to contain the rows.
 void expandAll()
          Expands all rows which have children.
 void expandFirstLevel()
          Expands all root level rows.
 void expandNextLevel()
          Expands one more level of rows.
 void expandRow(ExpandableRow row, boolean expanded)
          Expands or collapses the row.
 void expandRows(List<? extends T> rows, boolean digIn)
          Expand the rows in the list.
 void expandTreePath(TreePath path)
          Expands all the rows contained in the tree path
 void fireTableRowsUpdated(int firstRow, int lastRow)
           
 Class<?> getCellClassAt(int rowIndex, int columnIndex)
          Gets the type at cell (row, column).
 Object getChild(Object parent, int index)
          Returns the child of parent at index index in the parent's child array.
 int getChildCount(Object parent)
          Returns the number of children of parent.
 int getColumnType(int columnIndex)
          Checks if the column at the columnIndex is a header column or footer column or just regular column.
 ConverterContext getConverterContextAt(int rowIndex, int columnIndex)
          Gets the converter context at cell (row, column).
 EditorContext getEditorContextAt(int rowIndex, int columnIndex)
          Gets the editor context at cell (row, column).
 Map<Object,Boolean> getExpansionState()
          Gets the expansion state of all expansion state of tree table model.
 IndexChangeListener[] getIndexChangeListeners()
          Returns an array of all the IndexChangeListeners
 int getIndexOfChild(Object parent, Object child)
          Returns the index of child in parent.
 List<T> getOriginalRows()
          Gets the list of rows used by the table model.
 Object getRoot()
          Gets the root expandable row which has the original rows as children.
 T getRowAt(int rowIndex)
          Returns the row at row specified by row.
 int getRowCount()
          Returns the number of rows in the model.
 int getRowCount(boolean includeChildren)
          Gets the total count of the rows in the tree table model, including all the children.
 int getRowIndex(T row)
          Gets the index of the row.
 List<T> getRows()
          Gets a flatten list of all the rows that is currently displayed in the table.
 List<T> getRows(boolean includeChildren)
          Gets the list of rows used by the table model.
 int getTableIndex(int columnIndex)
          Gets the table index that this column belongs to.
 Object getValueAt(int rowIndex, int columnIndex)
          Returns the value for the cell at columnIndex and rowIndex.
protected  void invalidateCache(int deleteOrInsert, int startRowIndex, int rowCount)
          Caches all.
 boolean isAdjusting()
           
 boolean isAutoExpand()
          Check if the parent will expand automatically when a child is added to it.
 boolean isCellEditable(int rowIndex, int columnIndex)
          Returns false if column is 0 and return the isEditable of the row if column is 1.
 boolean isFilterParent()
           
 boolean isFiltersApplied()
          Checks if the filters are in effect.
 boolean isInitialized()
          Checks if setOriginalRows is called.
 boolean isLeaf(Object node)
          Returns true if node is a leaf.
 void moveDownRow(T row)
          Moves down the row within its same level.
 void moveUpRow(T row)
          Moves up the row within its same level.
 void refresh()
          Rebuilds the displayed rows from the original rows and fire table data changed event.
 void removeIndexChangeListener(IndexChangeListener l)
          Remove IndexChangelistener.
 void removeRow(int rowIndex)
          Removes the row at the row index.
 void removeRow(T row)
          Removes the row from tree table model.
 void setAdjusting(boolean adjusting)
           
 void setAutoExpand(boolean autoExpand)
          Sets the autoExpand flag.
 void setChildren(T parentRow, List<? extends T> children)
          Changes a row's children.
 void setExpansionState(Map<Object,Boolean> state)
          Restores the expansion state of all rows in tree table model.
 void setFilterParent(boolean filterParent)
           
 void setFiltersApplied(boolean apply)
          Applies or unapplies the filters.
 void setOriginalRows(List<? extends T> rows)
          Sets the original row list.
 void setValueAt(Object aValue, int rowIndex, int columnIndex)
          Sets the value the underlying row of that cell.
protected  boolean shouldBeFiltered(T row)
           
 
Methods inherited from class javax.swing.table.AbstractTableModel
addTableModelListener, findColumn, fireTableCellUpdated, fireTableChanged, fireTableDataChanged, fireTableRowsDeleted, fireTableRowsInserted, fireTableStructureChanged, getColumnClass, getColumnName, getListeners, getTableModelListeners, removeTableModelListener
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface javax.swing.table.TableModel
addTableModelListener, getColumnClass, getColumnCount, getColumnName, removeTableModelListener
 

Field Detail

_filtersApplied

protected boolean _filtersApplied
A flag to turn on/off filters. setFiltersApplied(boolean) with true will turn it on and setFiltersApplied(boolean) with false will turn it off.

Constructor Detail

TreeTableModel

public TreeTableModel()
Creates an empty TreeTableModel.


TreeTableModel

public TreeTableModel(List<? extends T> rows)
Creates TreeTableModel from a list of rows.

Parameters:
rows - list of rows
Method Detail

setOriginalRows

public void setOriginalRows(List<? extends T> rows)
Sets the original row list. The elements in the list should be instance of Row. Otherwise IllegalArgumentException will be thrown.

Parameters:
rows - a list of Rows
Throws:
IllegalArgumentException - if any element in the list is not an instance of Row.

buildRows

protected List<T> buildRows(List<? extends T> rows)
Rebuilds the displayed rows from the original rows.

Parameters:
rows - the original rows.
Returns:
the rows to be displayed.

createRows

protected List<T> createRows()
Creates the List to contain the rows.

Returns:
a List of Rows.

refresh

public void refresh()
Rebuilds the displayed rows from the original rows and fire table data changed event.


shouldBeFiltered

protected boolean shouldBeFiltered(T row)

setChildren

public void setChildren(T parentRow,
                        List<? extends T> children)
Changes a row's children.

Parameters:
parentRow - the parent row.
children - the children

addRow

public void addRow(T parentRow,
                   T row)
Adds row to the parentRow. The parentRow has to be an instance of ExpandableRow. Otherwise, there is no effect.

Parameters:
parentRow - the parent row.
row - the row to be added.

addRow

public void addRow(T parentRow,
                   int position,
                   T row)
Adds row to the parentRow. The parentRow has to be an instance of ExpandableRow. Otherwise, there is no effect.

Parameters:
parentRow - the parent row.
position - the insert position relative to the parent row.
row - the row to be added.

addRow

public void addRow(T row)
Adds a row to the root level of the table model.

Parameters:
row - row to be added.

addRow

public void addRow(int index,
                   T row)
Adds a row at the specified index. It can add a row to any position in the table model except the first position. If you want to insert the row at the first position, you should use addRow(int,Row,boolean) and set the last boolean to true. The new row will be at the same level as the row at the index.

Parameters:
index - the row index where the row will be added.
row - the row to be added.

addRow

public void addRow(int index,
                   T row,
                   boolean before)
Adds a row at the specified index. You can also use the last boolean parameter to control if it is added before the index or after the index. The new row will be at the same level as the row at the index.

Parameters:
index - the row index. The index can be -1. If it is -1 and before == false, it will be append at the end. If it is -1 or 0, and before == true, it will insert at the first position.
row - row to be added.
before - if it should be added before index or after index.

addRows

public void addRows(T parentRow,
                    List<? extends T> rows)
Adds row to the parentRow. The parentRow has to be an instance of ExpandableRow. Otherwise, there is no effect.

Parameters:
parentRow - the parent row.
rows - the row to be added.

addRows

public void addRows(T parentRow,
                    int position,
                    List<? extends T> rows)
Adds row to the parentRow. The parentRow has to be an instance of ExpandableRow. Otherwise, there is no effect.

Parameters:
parentRow - the parent row.
position - the insert position relative to the parent row.
rows - the rows to be added.

addRows

public void addRows(List<? extends T> rows)
Adds a row to the root level of the table model.

Parameters:
rows - row to be added.

addRows

public void addRows(int index,
                    List<? extends T> rows)
Adds a row at the specified index. It can add a row to any position in the table model except the first position. If you want to insert the row at the first position, you should use addRows(int,java.util.List,boolean) and set the last boolean to false. The new row will be at the same level as the row at the index.

Parameters:
index - the row index where the row will be added.
rows - the row to be added.

addRows

public void addRows(int index,
                    List<? extends T> rows,
                    boolean before)
Adds a row at the specified index. You can also use the last boolean parameter to control if it is added before the index or after the index. The new row will be at the same level as the row at the index.

Parameters:
index - the row index. The index can be -1. If it is -1 and before == false, it will be append at the end. If before == true, it will insert at the first position.
rows - row to be added.
before - if it should be added before index or after index.

removeRow

public void removeRow(T row)
Removes the row from tree table model. The row could be at any child level of this tree table model.

Parameters:
row - the row to be removed

removeRow

public void removeRow(int rowIndex)
Removes the row at the row index. No matter which level the row is, it will be removed. If the row has child rows, all of them will be removed.

Parameters:
rowIndex - the row index of the row to be removed

moveUpRow

public void moveUpRow(T row)
Moves up the row within its same level. If the row has children, all of them will be moved up.

Parameters:
row - the row to be moved up.

moveDownRow

public void moveDownRow(T row)
Moves down the row within its same level. If the row has children, all of them will be moved down.

Parameters:
row - the row to be moved down.

getRows

public List<T> getRows()
Gets a flatten list of all the rows that is currently displayed in the table.

Returns:
the list of rows

isInitialized

public boolean isInitialized()
Checks if setOriginalRows is called.

Returns:
true if setOriginalRows was called. Otherwise false.

getOriginalRows

public List<T> getOriginalRows()
Gets the list of rows used by the table model. Different from getRows(), this method returns the original rows that is passed to constructor or setOriginalRows(java.util.List).

Returns:
the list of properties as it is passed in constructor

setValueAt

public void setValueAt(Object aValue,
                       int rowIndex,
                       int columnIndex)
Sets the value the underlying row of that cell.

Specified by:
setValueAt in interface TableModel
Overrides:
setValueAt in class AbstractTableModel
Parameters:
aValue - value to assign to cell
rowIndex - row of cell
columnIndex - column of cell

isCellEditable

public boolean isCellEditable(int rowIndex,
                              int columnIndex)
Returns false if column is 0 and return the isEditable of the row if column is 1.

Specified by:
isCellEditable in interface TableModel
Overrides:
isCellEditable in class AbstractTableModel
Parameters:
rowIndex - the row being queried
columnIndex - the column being queried
Returns:
false

getRowCount

public int getRowCount()
Returns the number of rows in the model. A JTable uses this method to determine how many rows it should display. This method should be quick, as it is called frequently during rendering.

Specified by:
getRowCount in interface TableModel
Returns:
the number of rows in the model
See Also:
TableModel.getColumnCount()

getRowCount

public int getRowCount(boolean includeChildren)
Gets the total count of the rows in the tree table model, including all the children.

Parameters:
includeChildren - true to include collapsed children as part of the count. Otherwise getRowCount() will be returned.
Returns:
the count of all rows including children if includeChildren flag is true. Otherwise, it will return the visible row count.

getValueAt

public Object getValueAt(int rowIndex,
                         int columnIndex)
Returns the value for the cell at columnIndex and rowIndex.

Specified by:
getValueAt in interface TableModel
Parameters:
rowIndex - the row whose value is to be queried
columnIndex - the column whose value is to be queried
Returns:
the value Object at the specified cell

getRowAt

public T getRowAt(int rowIndex)
Returns the row at row specified by row.

Specified by:
getRowAt in interface ITreeTableModel<T extends Row>
Parameters:
rowIndex - the row whose row is to be queried
Returns:
the row at the specified row index

getRowIndex

public int getRowIndex(T row)
Gets the index of the row.

Specified by:
getRowIndex in interface ITreeTableModel<T extends Row>
Parameters:
row - row
Returns:
the index of the row. If the row is displayed in the table, it will return the index. Otherwise, it will return -1. So -1 could mean two things - the row is not displayed or the row is not in the tree hierarchy at all.

expandTreePath

public void expandTreePath(TreePath path)
Expands all the rows contained in the tree path

Parameters:
path - the tree path

createCompoundTableModelEvent

protected CompoundTableModelEvent createCompoundTableModelEvent()
Creates a CompoundTableModelEvent. It is created when a CompoundTableModelEvent is required.

Returns:
the CompoundTableModelEvent instance.

expandRow

public void expandRow(ExpandableRow row,
                      boolean expanded)
Expands or collapses the row.

Parameters:
row - the row to be expanded or collapsed
expanded - true to expand, false to collapse.

cacheAll

protected void cacheAll(int deleteOrInsert,
                        int startRowIndex,
                        int rowCount)
Caches all.

This method will be invoked right after a node is collapsed or expanded.

By default, it will check if getRows() is an instance of CachedVector. If it is, CachedVector#cacheAll() will be invoked. If you have a similar mechanism of your rows, you could override this method to cache all.

Parameters:
deleteOrInsert - TableModelEvent.DELETE or TableModelEvent.INSERT
startRowIndex - the start row index that was impacted
rowCount - the row count that was impacted
Since:
3.3.7

invalidateCache

protected void invalidateCache(int deleteOrInsert,
                               int startRowIndex,
                               int rowCount)
Caches all.

This method will be invoked right after a node is collapsed or expanded.

By default, it will check if getRows() is an instance of CachedVector. If it is, CachedVector#cacheAll() will be invoked. If you have a similar mechanism of your rows, you could override this method to cache all.

Parameters:
deleteOrInsert - TableModelEvent.DELETE or TableModelEvent.INSERT
startRowIndex - the start row index that was impacted
rowCount - the row count that was impacted
Since:
3.3.7

fireTableRowsUpdated

public void fireTableRowsUpdated(int firstRow,
                                 int lastRow)
Overrides:
fireTableRowsUpdated in class AbstractTableModel

expandAll

public void expandAll()
Expands all rows which have children.


expandFirstLevel

public void expandFirstLevel()
Expands all root level rows.


expandNextLevel

public void expandNextLevel()
Expands one more level of rows.


expandRows

public void expandRows(List<? extends T> rows,
                       boolean digIn)
Expand the rows in the list.

Parameters:
rows - the target rows to be expanded.
digIn - if the expand will be extended to the leaf level or just this level

collapseAll

public void collapseAll()
Collapse all rows which have children.


collapseFirstLevel

public void collapseFirstLevel()
Collapses all top level rows only. The children level rows are still expanded if they were. But they can't be seen anymore as the root rows are collapsed. If you expand the root rows after this call, you will see the children rows remain expanded.


collapseLastLevel

public void collapseLastLevel()
Collapses all top level rows only. The children level rows are still expanded if they were. But they can't be seen anymore as the root rows are collapsed. If you expand the root rows after this call, you will see the children rows remain expanded.


collapseRows

public void collapseRows(List<? extends T> rows,
                         boolean digIn)
Collapse the rows in the list.

Parameters:
rows - the target rows to be expanded.
digIn - if the expand will be extended to the leaf level or just this level

getConverterContextAt

public ConverterContext getConverterContextAt(int rowIndex,
                                              int columnIndex)
Description copied from interface: ContextSensitiveTableModel
Gets the converter context at cell (row, column).

For a special row index like -1, please return the default converter context for the entire column if there is any.

Specified by:
getConverterContextAt in interface ContextSensitiveTableModel
Parameters:
rowIndex - the row index
columnIndex - the column index
Returns:
converter context

getEditorContextAt

public EditorContext getEditorContextAt(int rowIndex,
                                        int columnIndex)
Description copied from interface: ContextSensitiveTableModel
Gets the editor context at cell (row, column).

For a special row index like -1, please return the default editor context for the entire column if there is any.

Specified by:
getEditorContextAt in interface ContextSensitiveTableModel
Parameters:
rowIndex - the row index
columnIndex - the column index
Returns:
editor context

getCellClassAt

public Class<?> getCellClassAt(int rowIndex,
                               int columnIndex)
Description copied from interface: ContextSensitiveTableModel
Gets the type at cell (row, column).

For a special row index like -1, please return the default column class for the entire column if there is any.

Specified by:
getCellClassAt in interface ContextSensitiveTableModel
Parameters:
rowIndex - the row index
columnIndex - the column index
Returns:
type

getRoot

public Object getRoot()
Gets the root expandable row which has the original rows as children.

Specified by:
getRoot in interface ITreeTableModel<T extends Row>
Returns:
the root expandable row.

createRoot

protected ExpandableRow createRoot()
Creates ExpandableRow which will be used as the root row.

Returns:
an instance of RootExpandableRow.

getChild

public Object getChild(Object parent,
                       int index)
Returns the child of parent at index index in the parent's child array. parent must be a node previously obtained from this data source. This should not return null if index is a valid index for parent (that is index >= 0 && index < getChildCount(parent)).

Parameters:
parent - a node in the tree, obtained from this data source
index - the index of the child
Returns:
the child of parent at index index

getChildCount

public int getChildCount(Object parent)
Returns the number of children of parent. Returns 0 if it has no children.

Parameters:
parent - a node in the tree model
Returns:
the number of children of the node parent

getIndexOfChild

public int getIndexOfChild(Object parent,
                           Object child)
Returns the index of child in parent. If either parent or child is null, returns -1. If either parent or child don't belong to this tree model, returns -1.

Parameters:
parent - a node in the tree
child - the node we are interested in
Returns:
the index of the child in the parent, or -1 if either child or parent are null or don't belong to this tree table model

isLeaf

public boolean isLeaf(Object node)
Returns true if node is a leaf. As long as the node is not an instance of Expandable, it is a leaf. It is possible for this method to return false even if node has no children. A directory in a filesystem, for example, may contain no files; the node representing the directory is not a leaf, but it also has no children.

Parameters:
node - a node in the tree table model
Returns:
true if node is a leaf

isFilterParent

public boolean isFilterParent()

setFilterParent

public void setFilterParent(boolean filterParent)

setFiltersApplied

public void setFiltersApplied(boolean apply)
Applies or unapplies the filters. By default, the filters are not applied. So after user adds several filters, this method should be called to make filters taking effect. When new filter is added or existing is removed, this method should be called as well.

Parameters:
apply - true to apply the filters.

isFiltersApplied

public boolean isFiltersApplied()
Checks if the filters are in effect.

Returns:
true if filters are in effect.

isAutoExpand

public boolean isAutoExpand()
Check if the parent will expand automatically when a child is added to it.

Returns:
true or false.

setAutoExpand

public void setAutoExpand(boolean autoExpand)
Sets the autoExpand flag. By default, the flag is true meaning the parent will expand automatically when a child is added to it.

Parameters:
autoExpand - true or false.

getColumnType

public int getColumnType(int columnIndex)
Description copied from interface: MultiTableModel
Checks if the column at the columnIndex is a header column or footer column or just regular column. Header columns will be displayed at the left side of the table. Footer columns will be on the right side. Regular columns will in the middle and will have horizontal scroll bar if there are a lot of columns.

Specified by:
getColumnType in interface MultiTableModel
Parameters:
columnIndex - the column index
Returns:
column type. The possible values are REGULAR_COLUMN, HEADER_COLUMN, or FOOTER_COLUMN.

getTableIndex

public int getTableIndex(int columnIndex)
Description copied from interface: MultiTableModel
Gets the table index that this column belongs to. As convention, the table index starts from 0. So all columns that return 0 in this method will be grouped into the first table. Those return 1 will be on the second table, and so on.

Specified by:
getTableIndex in interface MultiTableModel
Parameters:
columnIndex - the column index
Returns:
the table index.

getRows

public List<T> getRows(boolean includeChildren)
Gets the list of rows used by the table model. The order is as displayed.

Parameters:
includeChildren - true to include collapsed children as part of the list. Otherwise getRows() will be returned.
Returns:
the list of rows

isAdjusting

public boolean isAdjusting()

setAdjusting

public void setAdjusting(boolean adjusting)

getExpansionState

public Map<Object,Boolean> getExpansionState()
Gets the expansion state of all expansion state of tree table model. You can use this method along with setExpansionState(java.util.Map) to restore the tree table expansion state after the TreeTableModel is recreated.

Returns:
a map contains the expansion state of all rows. To save memory, we only save the expanded tree path so far.

setExpansionState

public void setExpansionState(Map<Object,Boolean> state)
Restores the expansion state of all rows in tree table model. You can use this method to restore the expansion state after the TreeTableModel is created but rows remain. For newly added rows, this method will not change their expansion state.

Parameters:
state - a map of the expansion state.

addIndexChangeListener

public void addIndexChangeListener(IndexChangeListener l)
Description copied from interface: IndexChangeEventGenerator
Add IndexChangelistener.

Specified by:
addIndexChangeListener in interface IndexChangeEventGenerator
Parameters:
l - the listener

removeIndexChangeListener

public void removeIndexChangeListener(IndexChangeListener l)
Description copied from interface: IndexChangeEventGenerator
Remove IndexChangelistener.

Specified by:
removeIndexChangeListener in interface IndexChangeEventGenerator
Parameters:
l - the listener

getIndexChangeListeners

public IndexChangeListener[] getIndexChangeListeners()
Description copied from interface: IndexChangeEventGenerator
Returns an array of all the IndexChangeListeners

Specified by:
getIndexChangeListeners in interface IndexChangeEventGenerator
Returns:
all of the IndexChangeListeners added or an empty array if no listeners have been added
See Also:
IndexChangeEventGenerator.addIndexChangeListener(com.jidesoft.grid.IndexChangeListener)

JIDE 3.5.15