Package no.uib.jsparklines.renderers
Class JSparklinesIntervalChartTableCellRenderer
java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JPanel
no.uib.jsparklines.renderers.JSparklinesIntervalChartTableCellRenderer
- All Implemented Interfaces:
ImageObserver
,MenuContainer
,Serializable
,Accessible
,TableCellRenderer
public class JSparklinesIntervalChartTableCellRenderer extends JPanel implements TableCellRenderer
Table cell renderer displaying JSparklines interval charts. Supported input:
Integer, Short, Byte, Long, Double, Float, XYDataPoint or XYDataPoint[].
Other object types are rendered using the DefaultTableCellRenderer.
If data of XYDataPoint is used the X value is assumed to be the lower range of the interval and the Y values is assumed to be the upper range. For the other cell value types the width of the interval has to be set by the user.
- Author:
- Harald Barsnes
- See Also:
- Serialized Form
-
Nested Class Summary
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
-
Field Summary
Fields inherited from class javax.swing.JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
Fields inherited from class java.awt.Component
accessibleContext, BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
-
Constructor Summary
Constructors Constructor Description JSparklinesIntervalChartTableCellRenderer(org.jfree.chart.plot.PlotOrientation plotOrientation, Double maxValue, Double widthOfInterval)
Creates a new JSparklinesIntervalChartTableCellRenderer.JSparklinesIntervalChartTableCellRenderer(org.jfree.chart.plot.PlotOrientation plotOrientation, Double maxValue, Double widthOfInterval, Color positiveValuesColor)
Creates a new JSparklinesIntervalChartTableCellRenderer.JSparklinesIntervalChartTableCellRenderer(org.jfree.chart.plot.PlotOrientation plotOrientation, Double minValue, Double maxValue, Color negativeValuesColor, Color positiveValuesColor)
Creates a new JSparklinesIntervalChartTableCellRenderer.JSparklinesIntervalChartTableCellRenderer(org.jfree.chart.plot.PlotOrientation plotOrientation, Double minValue, Double maxValue, Double widthOfInterval)
Creates a new JSparklinesIntervalChartTableCellRenderer.JSparklinesIntervalChartTableCellRenderer(org.jfree.chart.plot.PlotOrientation plotOrientation, Double minValue, Double maxValue, Double widthOfInterval, Color negativeValuesColor, Color positiveValuesColor)
Creates a new JSparklinesIntervalChartTableCellRenderer. -
Method Summary
Modifier and Type Method Description double
getMinimumChartValue()
Returns the minimum chart value to plot.Component
getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column)
double
getTooltipLowerValue()
Returns the lower value before using 8 decimals for the tooltip.void
setBackgroundColor(Color plotBackgroundColor)
Set the plot background color.void
setGradientColoring(GradientColorCoding.ColorGradient colorGradient, Color plotBackgroundColor, boolean positiveColorGradient)
Set the color gradient to use for the intervals.void
setMaxValue(double maxValue)
Set the maximum value.void
setMinimumChartValue(double minimumChartValue)
Set the minimum chart value to plot.void
setMinValue(double minValue)
Set the minimum value.void
setNegativeValuesColor(Color negativeValuesColor)
Set the color used for the negative values.void
setPositiveValuesColor(Color positiveValuesColor)
Set the color used for the positive values.void
setTooltipLowerValue(double tooltipLowerValue)
Set the lower limit for the values before using 8 decimals for the tooltip.void
showNumberAndChart(boolean showNumberAndChart, int widthOfLabel)
If true the number will be shown together with the interval chart in the cell.void
showNumberAndChart(boolean showNumberAndChart, int widthOfLabel, Font font, int horizontalAlignement)
If true the number will be shown together with the interval chart in the cell.void
showNumbers(boolean showNumbers)
Set if the underlying numbers or the interval charts are to be shown.void
showReferenceLine(boolean showReferenceLine)
If true, a black reference line is shown in the middle of the plot.void
showReferenceLine(boolean showReferenceLine, double lineWidth, Color color)
If true, a black reference line is shown in the middle of the plot.Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, transferFocusDownCycle, validate, validateTree
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
Constructor Details
-
JSparklinesIntervalChartTableCellRenderer
public JSparklinesIntervalChartTableCellRenderer(org.jfree.chart.plot.PlotOrientation plotOrientation, Double maxValue, Double widthOfInterval)Creates a new JSparklinesIntervalChartTableCellRenderer. Use this constructor when only positive values are to be plotted. This constructor uses default colors for the intervals. If you want to set your own colors, use one of the other constructors.- Parameters:
plotOrientation
- the orientation of the plotmaxValue
- the maximum value to be plotted, used to make sure that all plots in the same column has the same maximum value and are thus comparable (this is the same as setting the minimum value to 0)widthOfInterval
- the width of the interval used to highlight the value, has to bee non-negative- Throws:
IllegalArgumentException
- if widthOfInterval < 0
-
JSparklinesIntervalChartTableCellRenderer
public JSparklinesIntervalChartTableCellRenderer(org.jfree.chart.plot.PlotOrientation plotOrientation, Double maxValue, Double widthOfInterval, Color positiveValuesColor)Creates a new JSparklinesIntervalChartTableCellRenderer. Use this constructor when only positive values are to be plotted.- Parameters:
plotOrientation
- the orientation of the plotmaxValue
- the maximum value to be plotted, used to make sure that all plots in the same column has the same maximum value and are thus comparable (this is the same as setting the minimum value to 0)widthOfInterval
- the width of the interval used to highlight the value, has to be non-negativepositiveValuesColor
- the color to use for the positive values if two sided data is shown, and the color used for one sided data- Throws:
IllegalArgumentException
- if widthOfInterval < 0 or maxValue < 0
-
JSparklinesIntervalChartTableCellRenderer
public JSparklinesIntervalChartTableCellRenderer(org.jfree.chart.plot.PlotOrientation plotOrientation, Double minValue, Double maxValue, Double widthOfInterval)Creates a new JSparklinesIntervalChartTableCellRenderer. Use this constructor when positive and negative values are to be plotted. This constructor uses default colors for the bars. If you want to set your own colors, use one of the other constructors.- Parameters:
plotOrientation
- the orientation of the plotminValue
- the minimum value to be plotted, used to make sure that all plots in the same column has the same minimum value and are thus comparablemaxValue
- the maximum value to be plotted, used to make sure that all plots in the same column has the same maximum value and are thus comparablewidthOfInterval
- the width of the interval used to highlight the value, has to be non-negative- Throws:
IllegalArgumentException
- if widthOfInterval < 0 or minValue > maxValue
-
JSparklinesIntervalChartTableCellRenderer
public JSparklinesIntervalChartTableCellRenderer(org.jfree.chart.plot.PlotOrientation plotOrientation, Double minValue, Double maxValue, Double widthOfInterval, Color negativeValuesColor, Color positiveValuesColor)Creates a new JSparklinesIntervalChartTableCellRenderer. Use this constructor when positive and negative values are to be plotted.- Parameters:
plotOrientation
- the orientation of the plotminValue
- the minimum value to be plotted, used to make sure that all plots in the same column has the same minimum value and are thus comparablemaxValue
- the maximum value to be plotted, used to make sure that all plots in the same column has the same maximum value and are thus comparablewidthOfInterval
- the width of the interval used to highlight the valuenegativeValuesColor
- the color to use for the negative values if two sided data is shownpositiveValuesColor
- the color to use for the positive values if two sided data is shown, and the color used for one sided data- Throws:
IllegalArgumentException
- if widthOfInterval < 0 or minValue > maxValue
-
JSparklinesIntervalChartTableCellRenderer
public JSparklinesIntervalChartTableCellRenderer(org.jfree.chart.plot.PlotOrientation plotOrientation, Double minValue, Double maxValue, Color negativeValuesColor, Color positiveValuesColor)Creates a new JSparklinesIntervalChartTableCellRenderer. To use this constructor the cells must contain XYDataPoint values, where X represents the lower range and Y the upper range of the interval to be shown.- Parameters:
plotOrientation
- the orientation of the plotminValue
- the minimum value to be plotted, used to make sure that all plots in the same column has the same minimum value and are thus comparablemaxValue
- the maximum value to be plotted, used to make sure that all plots in the same column has the same maximum value and are thus comparablenegativeValuesColor
- the color to use for the negative values if two sided data is shownpositiveValuesColor
- the color to use for the positive values if two sided data is shown, and the color used for one sided data- Throws:
IllegalArgumentException
- if minValue > maxValue
-
-
Method Details
-
showReferenceLine
public void showReferenceLine(boolean showReferenceLine)If true, a black reference line is shown in the middle of the plot.- Parameters:
showReferenceLine
- if true, a black reference line is shown in the middle of the plot
-
showReferenceLine
If true, a black reference line is shown in the middle of the plot.- Parameters:
showReferenceLine
- if true, a black reference line is shown in the middle of the plotlineWidth
- the line widthcolor
- the color
-
setGradientColoring
public void setGradientColoring(GradientColorCoding.ColorGradient colorGradient, Color plotBackgroundColor, boolean positiveColorGradient)Set the color gradient to use for the intervals. To disable the color gradient use null as the parameter.
Values below zero uses the first color in the gradient name, while values above zero uses the third color in the gradient.
Note that the max value is set to the maximum absolute value of the max and min values in order to make the color gradient equal on both sides.- Parameters:
colorGradient
- the color gradient to use, null disables the color gradientpositiveColorGradient
- if true only positive values are expected and the middle gradient color is used for the halfway point between the min and max values, if false the middle gradient color is used for values around zeroplotBackgroundColor
- the background color to use, for gradients using white as the "middle" color, it's recommended to use a dark background color
-
setBackgroundColor
Set the plot background color.- Parameters:
plotBackgroundColor
- the plot background color
-
showNumberAndChart
public void showNumberAndChart(boolean showNumberAndChart, int widthOfLabel)If true the number will be shown together with the interval chart in the cell. False only display the interval chart. This method is not to be confused with the showNumbers-method that only displays the numbers.- Parameters:
showNumberAndChart
- if true the number and the chart is shown in the cellwidthOfLabel
- the width used to display the label containing the number
-
showNumberAndChart
public void showNumberAndChart(boolean showNumberAndChart, int widthOfLabel, Font font, int horizontalAlignement)If true the number will be shown together with the interval chart in the cell. False only display the interval chart. This method is not to be confused with the showNumbers-method that only displays the numbers.- Parameters:
showNumberAndChart
- if true the number and the chart is shown in the cellwidthOfLabel
- the width used to display the label containing the numberfont
- the font to use for the labelhorizontalAlignement
- the horizontal alignment of the text in the label: one of the following constants defined in SwingConstants: LEFT, CENTER, RIGHT, LEADING or TRAILING.
-
setMaxValue
public void setMaxValue(double maxValue)Set the maximum value.- Parameters:
maxValue
- the maximum value
-
setMinValue
public void setMinValue(double minValue)Set the minimum value.- Parameters:
minValue
- the minimum value
-
showNumbers
public void showNumbers(boolean showNumbers)Set if the underlying numbers or the interval charts are to be shown.- Parameters:
showNumbers
- if true the underlying numbers are shown
-
getTableCellRendererComponent
public Component getTableCellRendererComponent(JTable table, Object value, boolean isSelected, boolean hasFocus, int row, int column)- Specified by:
getTableCellRendererComponent
in interfaceTableCellRenderer
-
getMinimumChartValue
public double getMinimumChartValue()Returns the minimum chart value to plot.- Returns:
- the minimumChartValue
-
setMinimumChartValue
public void setMinimumChartValue(double minimumChartValue)Set the minimum chart value to plot.- Parameters:
minimumChartValue
- the minimumChartValue to set
-
getTooltipLowerValue
public double getTooltipLowerValue()Returns the lower value before using 8 decimals for the tooltip.- Returns:
- the tooltipLowerValue
-
setTooltipLowerValue
public void setTooltipLowerValue(double tooltipLowerValue)Set the lower limit for the values before using 8 decimals for the tooltip.- Parameters:
tooltipLowerValue
- the tooltipLowerValue to set
-
setNegativeValuesColor
Set the color used for the negative values.- Parameters:
negativeValuesColor
- the color used for the negative values
-
setPositiveValuesColor
Set the color used for the positive values.- Parameters:
positiveValuesColor
- the color used for the positive values
-