Package 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.
-
-
Field Summary
Fields Modifier and Type Field Description private SortableTableModel
model
A reference to the table model.private SortButtonRenderer
renderer
The header renderer.private int
sortColumnIndex
The index of the column that is sorted - used to determine the state of the renderer.
-
Constructor Summary
Constructors Constructor Description SortableTableHeaderListener(SortableTableModel model, SortButtonRenderer renderer)
Standard constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method 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.
-
-
-
Field Detail
-
model
private SortableTableModel model
A reference to the table model.
-
renderer
private SortButtonRenderer renderer
The header renderer.
-
sortColumnIndex
private int sortColumnIndex
The index of the column that is sorted - used to determine the state of the renderer.
-
-
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 interfacejava.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 interfacejava.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 interfacejava.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 interfacejava.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 interfacejava.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 interfacejava.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 interfacejava.awt.event.MouseListener
- Parameters:
e
- the mouse event.
-
-