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.TableCellRendererRenderer 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 protectedSortingHeaderRenderer(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.IconcreateArrowIcon(boolean isDescending, int size)Returns an icon suitable for marking a column as sorted.javax.swing.table.TableCellRenderergetBaseRenderer()Returns the renderer on which this one is based.abstract intgetSortColumnIndex()Indicates the index of the table column on which sorting is performed.java.awt.ComponentgetTableCellRendererComponent(javax.swing.JTable table, java.lang.Object value, boolean isSelected, boolean hasFocus, int irow, int icol)abstract booleanisSortDescending()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:
getTableCellRendererComponentin 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 downsize- icon size, for instance font size of associated text- Returns:
- icon
-
-