Package uk.ac.starlink.util.gui
Class SortingHeaderRenderer
- java.lang.Object
-
- uk.ac.starlink.util.gui.SortingHeaderRenderer
-
- All Implemented Interfaces:
javax.swing.table.TableCellRenderer
public abstract class SortingHeaderRenderer extends java.lang.Object implements javax.swing.table.TableCellRenderer
Renderer for JTable (header) cells that can indicate sorting status. It modifies a supplied default renderer by adding a little arrow pointing up or down for the single sorted column in a table as reported by a couple of abstract methods.- Since:
- 15 Aug 2017
- Author:
- Mark Taylor
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
SortingHeaderRenderer(javax.swing.table.TableCellRenderer baseRenderer)
Constructor.
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description static javax.swing.Icon
createArrowIcon(boolean isDescending, int size)
Returns an icon suitable for marking a column as sorted.javax.swing.table.TableCellRenderer
getBaseRenderer()
Returns the renderer on which this one is based.abstract int
getSortColumnIndex()
Indicates the index of the table column on which sorting is performed.java.awt.Component
getTableCellRendererComponent(javax.swing.JTable table, java.lang.Object value, boolean isSelected, boolean hasFocus, int irow, int icol)
abstract boolean
isSortDescending()
Indicates the sense of the sorting.
-
-
-
Method Detail
-
getBaseRenderer
public javax.swing.table.TableCellRenderer getBaseRenderer()
Returns the renderer on which this one is based.- Returns:
- base renderer
-
getSortColumnIndex
public abstract int getSortColumnIndex()
Indicates the index of the table column on which sorting is performed. If the table is unsorted (uses natural order) this method should return a negative number.- Returns:
- index of sorting column, or negative value
-
isSortDescending
public abstract boolean isSortDescending()
Indicates the sense of the sorting.- Returns:
- true for descending sort, false for ascending
-
getTableCellRendererComponent
public java.awt.Component getTableCellRendererComponent(javax.swing.JTable table, java.lang.Object value, boolean isSelected, boolean hasFocus, int irow, int icol)
- Specified by:
getTableCellRendererComponent
in interfacejavax.swing.table.TableCellRenderer
-
createArrowIcon
public static javax.swing.Icon createArrowIcon(boolean isDescending, int size)
Returns an icon suitable for marking a column as sorted.- Parameters:
isDescending
- false for sort up, true for sort downicon
- size, for instance font size of associated text- Returns:
- icon
-
-