|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectca.odell.glazedlists.gui.AbstractTableComparatorChooser<E>
ca.odell.glazedlists.swing.TableComparatorChooser<E>
public class TableComparatorChooser<E>
A TableComparatorChooser is a tool that allows the user to sort a ListTable by clicking
on the table's headers. It requires that the JTables model is an
EventTableModel with a SortedList as a source.
This class includes custom arrow icons that indicate the sort order. The icons used are chosen based on the current Swing look and feel. Icons are available for the following look and feels: Mac OS X, Metal, Windows.
This class supports multiple sort strategies for each column, specified by having muliple comparators for each column. This may be useful when you want to sort a single column in either of two ways. For example, when sorting movie names, "The Phantom Menace" may be sorted under "T" for "The", or "P" for "Phantom".
This class supports sorting multiple columns simultaneously. In this mode, the user clicks a first column to sort by, and then the user clicks subsequent columns. The list is sorted by the first column and ties are broken by the second column.
If the EventTableModel uses a AdvancedTableFormat, its
AdvancedTableFormat.getColumnComparator(int) method will be used to
populate the initial column Comparators.
| Field Summary |
|---|
| Fields inherited from class ca.odell.glazedlists.gui.AbstractTableComparatorChooser |
|---|
MULTIPLE_COLUMN_KEYBOARD, MULTIPLE_COLUMN_MOUSE, SINGLE_COLUMN, sortedList, sortedListComparator, sortingState |
| Constructor Summary | |
|---|---|
TableComparatorChooser(JTable table,
SortedList<E> sortedList,
boolean multipleColumnSort)
Creates a new TableComparatorChooser that responds to clicks on the specified table and uses them to sort the specified list. |
|
TableComparatorChooser(JTable table,
SortedList<E> sortedList,
Object strategy)
Creates a new TableComparatorChooser that responds to clicks on the specified table and uses them to sort the specified list by delegating to the given strategy. |
|
| Method Summary | |
|---|---|
void |
addSortActionListener(ActionListener sortActionListener)
Registers the specified ActionListener to receive notification whenever
the JTable is sorted by this TableComparatorChooser. |
void |
dispose()
Releases the resources consumed by this TableComparatorChooser so that it
may eventually be garbage collected. |
protected int |
getSortingStyle(int column)
Gets the sorting style currently applied to the specified column. |
protected boolean |
isSortingMouseEvent(MouseEvent e)
Determines if the specified mouse event shall be handled by this TableComparatorChooser. |
protected void |
rebuildComparator()
Updates the comparator in use and applies it to the table. |
protected void |
redetectComparator(Comparator<? super E> currentComparator)
Examines the current Comparator of the SortedList and
adds icons to the table header renderers in response. |
void |
removeSortActionListener(ActionListener sortActionListener)
Deregisters the specified ActionListener to no longer receive
action events. |
static void |
setIconPath(String path)
Set all TableComparatorChoosers to use the icons from the directory
specified. |
| Methods inherited from class ca.odell.glazedlists.gui.AbstractTableComparatorChooser |
|---|
appendComparator, clearComparator, createComparatorForElement, fromString, getColumnComparatorIndex, getComparatorsForColumn, getSortingColumns, isColumnReverse, setTableFormat, toString |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Constructor Detail |
|---|
public TableComparatorChooser(JTable table,
SortedList<E> sortedList,
boolean multipleColumnSort)
table - the table with headers that can be clicked onsortedList - the sorted list to updatemultipleColumnSort - true to sort by multiple columns
at a time, or false to sort by a single column. Although
sorting by multiple columns is more powerful, the user interface is
not as simple and this strategy should only be used where necessary.
public TableComparatorChooser(JTable table,
SortedList<E> sortedList,
Object strategy)
strategy.
table - the table with headers that can be clicked onsortedList - the sorted list to updatestrategy - an implementations of SortingStrategy, typically one of
| Method Detail |
|---|
public void addSortActionListener(ActionListener sortActionListener)
ActionListener to receive notification whenever
the JTable is sorted by this TableComparatorChooser.
public void removeSortActionListener(ActionListener sortActionListener)
ActionListener to no longer receive
action events.
protected void redetectComparator(Comparator<? super E> currentComparator)
Comparator of the SortedList and
adds icons to the table header renderers in response.
To do this, clicks are injected into each of the
corresponding ColumnClickTrackers.
redetectComparator in class AbstractTableComparatorChooser<E>protected final void rebuildComparator()
rebuildComparator in class AbstractTableComparatorChooser<E>protected final int getSortingStyle(int column)
getSortingStyle in class AbstractTableComparatorChooser<E>protected boolean isSortingMouseEvent(MouseEvent e)
TableComparatorChooser. The default implementation handles only clicks
with the left mouse button. Extending classes can customize which mouse
events the table comparator chooser responds to by overriding this method.
As of 2005/12/20, that this method is no longer called when the corresponding mouse press event was a popup trigger. In effect, if this is a right-click on Windows or a 'control-click' on the Mac.
public static void setIconPath(String path)
TableComparatorChoosers to use the icons from the directory
specified. The folder should contain the following eight icon files:
Note that this path must be on the system classpath. It may be within a jar file.
public void dispose()
TableComparatorChooser so that it
may eventually be garbage collected.
A TableComparatorChooser will be garbage collected without a call to
dispose(), but not before its source EventList is garbage
collected. By calling dispose(), you allow the TableComparatorChooser
to be garbage collected before its source EventList. This is
necessary for situations where an TableComparatorChooser is short-lived but
its source EventList is long-lived.
Warning: It is an error
to call any method on a TableComparatorChooser after it has been disposed.
dispose in class AbstractTableComparatorChooser<E>
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||