0

I found a thermometer demo and customized it for my dashboard project. http://www.java2s.com/Code/Java/Chart/JFreeChartThermometerDemo2.htm

In my dashboard I have six thermometer with different Mercury Color. However, I cannot seem to find a way to change the color of the range numbers that are displayed beside the thermometer.

How do I change the range number text color from Black to White?

My Demo Thermometer screenshot

package Thermometers;


import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.Font;

import javax.swing.JFrame;
import javax.swing.JPanel;

import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.ThermometerPlot;
import org.jfree.data.general.DefaultValueDataset;

import App.App_v2;

public class ThermometerDemo2 extends JPanel 
{
    private static final long serialVersionUID = 1L;

    public ThermometerDemo2(Color color, double maxValue) 
    {
        // create a dataset...
        final DefaultValueDataset dataset = new DefaultValueDataset(110);

        // create the chart...
        final ThermometerPlot plot = new ThermometerPlot(dataset);
        plot.setRange(0.0, maxValue);
        plot.setSubrange(ThermometerPlot.CRITICAL, 250, 300);
        plot.setValueFont(new Font("Georgia", Font.BOLD, 32));
        plot.setThermometerStroke(new BasicStroke(2.0f));

        plot.setBackgroundPaint(new Color(20,42,60));
        plot.setMercuryPaint(color);

        final JFreeChart chart = new JFreeChart(plot);
        chart.setBorderVisible(false);

        // add the chart to a panel...
        ChartPanel chartPanel = new ChartPanel(chart);

        this.add(chartPanel);
        this.setBackground(new Color(20,42,60));
    }


    public static void main(final String[] args) {
        JFrame frame = new JFrame("change the black range color into white");
            frame.setVisible(true);
        frame.setSize(500, 500);

        ThermometerDemo2 demo = new ThermometerDemo2(Color.magenta, 300);
        demo.setVisible(true);

        frame.add(demo);
        frame.pack();
    }
}
  • Possible duplicate of [*Changing mercury color in thermometer in JFreeChart*](https://stackoverflow.com/q/7597015/230513). – trashgod Aug 13 '18 at 16:53
  • No, I'm not asking how to change the mercury color. How can I change color of the numbers beside thermometer? – Kevin J. Ramírez Sep 05 '18 at 13:20
  • `ThermometerPlot` uses a `NumberAxis` internally, but you'd have to override its `drawTickMarksAndLabels()` and modify the relevant `AttributedString`. – trashgod Sep 05 '18 at 15:53

0 Answers0