org.jfree.ui

## Class SortableTableHeaderListener

- java.lang.Object
- - org.jfree.ui.SortableTableHeaderListener

- All Implemented Interfaces:
    java.awt.event.MouseListener, java.awt.event.MouseMotionListener, java.util.EventListener

      public class SortableTableHeaderListener
      extends java.lang.Object
      implements java.awt.event.MouseListener, java.awt.event.MouseMotionListener

  Captures mouse clicks on a table header, with the intention of triggering a sort. Adapted from code by Nabuo Tamemasa posted on http://www.codeguru.com.
  Author:
    Nabuo Tamemasa

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `SortableTableHeaderListener(SortableTableModel model, SortButtonRenderer renderer)` Standard constructor.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `mouseClicked(java.awt.event.MouseEvent e)` This event is ignored (not required).
    `void` | `mouseDragged(java.awt.event.MouseEvent e)` If the user is dragging or resizing, then we clear the sort column.
    `void` | `mouseEntered(java.awt.event.MouseEvent e)` This event is ignored (not required).
    `void` | `mouseExited(java.awt.event.MouseEvent e)` This event is ignored (not required).
    `void` | `mouseMoved(java.awt.event.MouseEvent e)` This event is ignored (not required).
    `void` | `mousePressed(java.awt.event.MouseEvent e)` Handle a mouse press event - if the user is NOT resizing a column and NOT dragging a column then give visual feedback that the column header has been pressed.
    `void` | `mouseReleased(java.awt.event.MouseEvent e)` When the user releases the mouse button, we attempt to sort the table.
    `void` | `setTableModel(SortableTableModel model)` Sets the table model for the listener.

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

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

- - ### Constructor Detail

    - #### SortableTableHeaderListener

          public SortableTableHeaderListener(SortableTableModel model,
                                     SortButtonRenderer renderer)

      Standard constructor.
      Parameters:
        `model` - the model.
        `renderer` - the renderer.

  - ### Method Detail

    - #### setTableModel

          public void setTableModel(SortableTableModel model)

      Sets the table model for the listener.
      Parameters:
        `model` - the model.

    - #### mousePressed

          public void mousePressed(java.awt.event.MouseEvent e)

      Handle a mouse press event - if the user is NOT resizing a column and NOT dragging a column then give visual feedback that the column header has been pressed.
      Specified by:
        `mousePressed` in interface `java.awt.event.MouseListener`
      Parameters:
        `e` - the mouse event.

    - #### mouseDragged

          public void mouseDragged(java.awt.event.MouseEvent e)

      If the user is dragging or resizing, then we clear the sort column.
      Specified by:
        `mouseDragged` in interface `java.awt.event.MouseMotionListener`
      Parameters:
        `e` - the mouse event.

    - #### mouseEntered

          public void mouseEntered(java.awt.event.MouseEvent e)

      This event is ignored (not required).
      Specified by:
        `mouseEntered` in interface `java.awt.event.MouseListener`
      Parameters:
        `e` - the mouse event.

    - #### mouseClicked

          public void mouseClicked(java.awt.event.MouseEvent e)

      This event is ignored (not required).
      Specified by:
        `mouseClicked` in interface `java.awt.event.MouseListener`
      Parameters:
        `e` - the mouse event.

    - #### mouseMoved

          public void mouseMoved(java.awt.event.MouseEvent e)

      This event is ignored (not required).
      Specified by:
        `mouseMoved` in interface `java.awt.event.MouseMotionListener`
      Parameters:
        `e` - the mouse event.

    - #### mouseExited

          public void mouseExited(java.awt.event.MouseEvent e)

      This event is ignored (not required).
      Specified by:
        `mouseExited` in interface `java.awt.event.MouseListener`
      Parameters:
        `e` - the mouse event.

    - #### mouseReleased

          public void mouseReleased(java.awt.event.MouseEvent e)

      When the user releases the mouse button, we attempt to sort the table.
      Specified by:
        `mouseReleased` in interface `java.awt.event.MouseListener`
      Parameters:
        `e` - the mouse event.