|
qflib 0.98.0 | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--de.qfs.lib.gui.SortedTableHelper
This little helper class is very useful in creating a sorted JTable. It creates and connects all the necessary parts, while still leaving everything configurable.
The fastest way to get a standard sorted table is
JTable table; SortedTableHelper helper = new SortedTableHelper (table); helper.prepareTable();This will create a table with a
FilteredAndSortedTableModel
using a DefaultTableModelSorter
and a SortedTableHeaderCellRenderer
using the default arrow icons.
Constructor Summary | |
SortedTableHelper(javax.swing.JTable table)
Create a new SortedTableHelper. |
|
SortedTableHelper(javax.swing.JTable table,
FilteredAndSortedTableModel sortedModel)
Create a new SortedTableHelper from a FilteredAndSortedTableModel. |
|
SortedTableHelper(javax.swing.JTable table,
TableModelFilter filter,
TableModelSorter sorter)
Create a new SortedTableHelper. |
Method Summary | |
void |
filterChanged(TableModelFilterEvent e)
Notify the listener of a change in the TableModelFilter. |
javax.swing.table.TableCellRenderer |
getHeaderCellRenderer()
Get the renderer for the TableHeader. |
FilteredAndSortedTableModel |
getSortedTableModel()
Get the FilteredAndSortedTableModel used to sort the table. |
javax.swing.table.TableModel |
getTableModel()
Get the original TableModel of the table. |
TableModelFilter |
getTableModelFilter()
Get the TableModelFilter for the table. |
TableModelSorter |
getTableModelSorter()
Get the TableModelSorter implementing the sort order. |
void |
prepareTable()
Prepare the table for sorting. |
void |
saveSelection(boolean save)
Set whether the FilteredAndSortedTableModel will save the selected rows of the table when sorting, filtering or updating. |
void |
setHeaderCellRenderer(javax.swing.table.TableCellRenderer renderer)
Set the renderer for the TableHeader. |
void |
setSortedTableModel(FilteredAndSortedTableModel model)
Call this method instead of JTable.setModel
to change the model of the table. |
void |
setTableModel(javax.swing.table.TableModel model)
Call this method instead of JTable.setModel
to change the model of the table. |
void |
setTableModelFilter(TableModelFilter filter)
Set the TableModelFilter for the table. |
void |
setTableModelSorter(TableModelSorter sorter)
Set the TableModelSorter implementing the sort order. |
void |
sortOrderChanged(TableModelSorterEvent e)
Notify the listener of a change in the sort order. |
void |
updateUI()
This method should be called if you change the UI of the table, even if you use SwingUtilities.updateComponentTreeUI , since otherwise the header
renderer of the table doesn't get updated. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
public SortedTableHelper(javax.swing.JTable table)
DefaultTableModelSorter
, no filter and
a standard SortedTableHeaderCellRenderer
.table
- The table that is to be sorted.public SortedTableHelper(javax.swing.JTable table, TableModelFilter filter, TableModelSorter sorter)
SortedTableHeaderCellRenderer
.table
- The table that is to be sorted.filter
- The filter for the table. If null, the table will not
be filtered.sorter
- The sorter for the table. If null, the table will not
be sorted.public SortedTableHelper(javax.swing.JTable table, FilteredAndSortedTableModel sortedModel)
table
- The table that is to be sorted.sortedModel
- The FilteredAndSortedTableModel to use.Method Detail |
public void prepareTable()
public void saveSelection(boolean save)
This method is automtically called from prepareTable
, but it must be called again whenever the row selection
model of the table is changed.
save
- True to save, false to ignore the selection.public void updateUI()
SwingUtilities.updateComponentTreeUI
, since otherwise the header
renderer of the table doesn't get updated.public final javax.swing.table.TableModel getTableModel()
public void setTableModel(javax.swing.table.TableModel model)
JTable.setModel
to change the model of the table. It will take care of updating all
other components necessary for sorting.model
- The new TableModel.public final FilteredAndSortedTableModel getSortedTableModel()
public void setSortedTableModel(FilteredAndSortedTableModel model)
JTable.setModel
to change the model of the table. It will take care of updating all
other components necessary for sorting.model
- The new TableModel.public final TableModelSorter getTableModelSorter()
public final void setTableModelSorter(TableModelSorter sorter)
sorter
- The sorter to set.public final TableModelFilter getTableModelFilter()
public final void setTableModelFilter(TableModelFilter filter)
filter
- The filter to set.public final javax.swing.table.TableCellRenderer getHeaderCellRenderer()
public final void setHeaderCellRenderer(javax.swing.table.TableCellRenderer renderer)
renderer
- The header renderer to set.public void filterChanged(TableModelFilterEvent e)
filterChanged
in interface TableModelFilterListener
event
- Details about the change.public void sortOrderChanged(TableModelSorterEvent e)
sortOrderChanged
in interface TableModelSorterListener
event
- Details about the change.
|
qflib 0.98.0 | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |