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
  • 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 plot
      maxValue - 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 plot
      maxValue - 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-negative
      positiveValuesColor - 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 plot
      minValue - 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 comparable
      maxValue - 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
      widthOfInterval - 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 plot
      minValue - 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 comparable
      maxValue - 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
      widthOfInterval - the width of the interval used to highlight the value
      negativeValuesColor - the color to use for the negative values if two sided data is shown
      positiveValuesColor - 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 plot
      minValue - 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 comparable
      maxValue - 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
      negativeValuesColor - the color to use for the negative values if two sided data is shown
      positiveValuesColor - 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

      public void showReferenceLine​(boolean showReferenceLine, double lineWidth, Color color)
      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
      lineWidth - the line width
      color - 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 gradient
      positiveColorGradient - 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 zero
      plotBackgroundColor - the background color to use, for gradients using white as the "middle" color, it's recommended to use a dark background color
    • setBackgroundColor

      public void setBackgroundColor​(Color plotBackgroundColor)
      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 cell
      widthOfLabel - 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 cell
      widthOfLabel - the width used to display the label containing the number
      font - the font to use for the label
      horizontalAlignement - 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 interface TableCellRenderer
    • 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

      public void setNegativeValuesColor​(Color negativeValuesColor)
      Set the color used for the negative values.
      Parameters:
      negativeValuesColor - the color used for the negative values
    • setPositiveValuesColor

      public void setPositiveValuesColor​(Color positiveValuesColor)
      Set the color used for the positive values.
      Parameters:
      positiveValuesColor - the color used for the positive values