Package com.explodingpixels.widgets

## Class TableUtils

- java.lang.Object
- - com.explodingpixels.widgets.TableUtils

    public class TableUtils
    extends java.lang.Object

A collection of utility methods to be used with `JTable`.

### Nested Class Summary

Nested Classes
`static interface` `TableUtils.SortDelegate` An interface that will be notified when sorting of a `JTable` should occur.
`static class` `TableUtils.SortDirection` An enumeration representing the sort order of a table column.

### Method Summary

All Methods Static Methods Concrete Methods
`static void` `makeSortable​(javax.swing.JTable table, TableUtils.SortDelegate sortDelegate)` Installs a listener on the given `JTable`'s `JTableHeader`, which will notify the given `TableUtils.SortDelegate` when the user clicks the header and thus wishes to sort.
`static void` `makeStriped​(javax.swing.JTable table, java.awt.Color stipeColor)` Add's striping to the background of the given `JTable`.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Method Detail

#### makeStriped

    public static void makeStriped​(javax.swing.JTable table,
                                   java.awt.Color stipeColor)

Add's striping to the background of the given `JTable`. The actual striping is installed on the containing `JScrollPane`'s `JViewport`, so if this table is not added to a `JScrollPane`, then no stripes will be painted. This method can be called before the given table is added to a scroll pane, though, as a `PropertyChangeListener` will be installed to handle "ancestor" changes.

Parameters:
  `table` - the table to paint row stripes for.
  `stipeColor` - the color of the stripes to paint.

#### makeSortable

    public static void makeSortable​(javax.swing.JTable table,
                                    TableUtils.SortDelegate sortDelegate)

Installs a listener on the given `JTable`'s `JTableHeader`, which will notify the given `TableUtils.SortDelegate` when the user clicks the header and thus wishes to sort. The listener will also call `TableHeaderUtils.toggleSortDirection(javax.swing.table.JTableHeader, int)` and `TableHeaderUtils.setPressedColumn(javax.swing.table.JTableHeader, int)` which will install hints for header renders to render the column headers in the appropriate state.

Parameters:
  `table` - the table so install the `SortDelegate` on.
  `sortDelegate` - the delegate to notify when sorting should be performed.