com.explodingpixels.macwidgets.plaf

## Class ITunesTableUI

- java.lang.Object
- - javax.swing.plaf.ComponentUI
  - - javax.swing.plaf.TableUI
    - - javax.swing.plaf.basic.BasicTableUI
      - - com.explodingpixels.macwidgets.plaf.ITunesTableUI

-     public class ITunesTableUI
      extends BasicTableUI

  A UI delegate that renders an iTunes style table.

  Sorting indicators will be rendered if a `TableUtils.SortDelegate` is installed on the associated `JTable` via the `TableUtils.makeSortable(javax.swing.JTable, com.explodingpixels.widgets.TableUtils.SortDelegate)` method.

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class javax.swing.plaf.basic.BasicTableUI

      `BasicTableUI.FocusHandler, BasicTableUI.KeyHandler, BasicTableUI.MouseInputHandler`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `protected static Color` | `EVEN_ROW_COLOR`
    `protected static Color` | `SELECTION_ACTIVE_BOTTOM_BORDER_COLOR`
    `protected static Color` | `SELECTION_ACTIVE_SELECTION_BACKGROUND_COLOR`
    `protected static Color` | `SELECTION_ACTIVE_SELECTION_FOREGROUND_COLOR`
    `protected static Color` | `SELECTION_INACTIVE_BOTTOM_BORDER_COLOR`
    `protected static Color` | `SELECTION_INACTIVE_SELECTION_BACKGROUND_COLOR`
    `protected static Color` | `SELECTION_INACTIVE_SELECTION_FOREGROUND_COLOR`
    `protected static Color` | `TABLE_GRID_COLOR`
    `protected static Color` | `TRANSPARENT_COLOR`

    - ### Fields inherited from class javax.swing.plaf.basic.BasicTableUI

      `focusListener, keyListener, mouseInputListener, rendererPane, table`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `ITunesTableUI()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected CellRendererPane` | `createCustomCellRendererPane()` Creates a custom `CellRendererPane` that sets the renderer component to be non-opqaque if the associated row isn't selected.
    `Border` | `getRowBorder()`
    `Border` | `getSelectedRowBorder()`
    `protected void` | `installListeners()`
    `void` | `installUI(JComponent c)`

    - ### Methods inherited from class javax.swing.plaf.basic.BasicTableUI

      `createFocusListener, createKeyListener, createMouseInputListener, createUI, getBaseline, getBaselineResizeBehavior, getMaximumSize, getMinimumSize, getPreferredSize, installDefaults, installKeyboardActions, paint, uninstallDefaults, uninstallKeyboardActions, uninstallListeners, uninstallUI`

    - ### Methods inherited from class javax.swing.plaf.ComponentUI

      `contains, getAccessibleChild, getAccessibleChildrenCount, update`

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

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

- - ### Field Detail

    - #### EVEN_ROW_COLOR

          protected static final Color EVEN_ROW_COLOR

    - #### TABLE_GRID_COLOR

          protected static final Color TABLE_GRID_COLOR

    - #### SELECTION_ACTIVE_SELECTION_FOREGROUND_COLOR

          protected static final Color SELECTION_ACTIVE_SELECTION_FOREGROUND_COLOR

    - #### SELECTION_ACTIVE_SELECTION_BACKGROUND_COLOR

          protected static final Color SELECTION_ACTIVE_SELECTION_BACKGROUND_COLOR

    - #### SELECTION_INACTIVE_SELECTION_FOREGROUND_COLOR

          protected static final Color SELECTION_INACTIVE_SELECTION_FOREGROUND_COLOR

    - #### SELECTION_INACTIVE_SELECTION_BACKGROUND_COLOR

          protected static final Color SELECTION_INACTIVE_SELECTION_BACKGROUND_COLOR

    - #### SELECTION_ACTIVE_BOTTOM_BORDER_COLOR

          protected static final Color SELECTION_ACTIVE_BOTTOM_BORDER_COLOR

    - #### SELECTION_INACTIVE_BOTTOM_BORDER_COLOR

          protected static final Color SELECTION_INACTIVE_BOTTOM_BORDER_COLOR

    - #### TRANSPARENT_COLOR

          protected static final Color TRANSPARENT_COLOR

  - ### Constructor Detail

    - #### ITunesTableUI

          public ITunesTableUI()

  - ### Method Detail

    - #### installUI

          public void installUI(JComponent c)

      Overrides:
        `installUI` in class `BasicTableUI`

    - #### installListeners

          protected void installListeners()

      Overrides:
        `installListeners` in class `BasicTableUI`

    - #### getRowBorder

          public Border getRowBorder()

    - #### getSelectedRowBorder

          public Border getSelectedRowBorder()

    - #### createCustomCellRendererPane

          protected CellRendererPane createCustomCellRendererPane()

      Creates a custom `CellRendererPane` that sets the renderer component to be non-opqaque if the associated row isn't selected. This custom `CellRendererPane` is needed because a table UI delegate has no prepare renderer like `JTable` has.