Example usage for org.jfree.chart.plot MeterPlot MeterPlot

List of usage examples for org.jfree.chart.plot MeterPlot MeterPlot

Introduction

In this page you can find the example usage for org.jfree.chart.plot MeterPlot MeterPlot.

Prototype

public MeterPlot(ValueDataset dataset) 

Source Link

Document

Creates a new plot that displays the value from the supplied dataset.

Usage

From source file:ucar.unidata.idv.flythrough.Flythrough.java

/**
 * _more_//from ww  w . java2 s.  c  o  m
 *
 * @param pt1 _more_
 *
 * @throws Exception _more_
 */
protected void processReadout(FlythroughPoint pt1) throws Exception {

    Font font = new Font("Dialog", Font.BOLD, 22);
    dials = new ArrayList<JComponent>();
    if ((readoutLabel == null) || (pt1 == null)) {
        return;
    }

    List<ReadoutInfo> samples = new ArrayList<ReadoutInfo>();
    readoutLabel.setText(readout.getReadout(pt1.getEarthLocation(), showReadout, true, samples));

    if (!showReadout) {
        return;
    }

    List comps = new ArrayList();
    for (FlythroughDecorator decorator : decorators) {
        decorator.handleReadout(pt1, samples);
    }

    for (ReadoutInfo info : samples) {
        Real r = info.getReal();
        if (r == null) {
            continue;
        }

        Unit unit = info.getUnit();
        if (unit == null) {
            unit = r.getUnit();
        }
        String name = ucar.visad.Util.cleanTypeName(r.getType());

        String unitSuffix = "";
        if (unit != null) {
            unitSuffix = " [" + unit + "]";
        }

        double v = r.getValue(unit);
        if (v == v) {
            v = Misc.parseNumber(Misc.format(v));
        }

        JLabel label = new JLabel(name.replace("_", " "));

        label.setFont(font);
        DefaultValueDataset dataset = new DefaultValueDataset(new Double(v));
        MeterPlot plot = new MeterPlot(dataset);
        if (info.getRange() != null) {
            Range range = info.getRange();
            plot.setRange(new org.jfree.data.Range(range.getMin(), range.getMax()));
        }
        if (unit != null) {
            plot.setUnits(unit.toString());
        } else {
            plot.setUnits("");
        }
        plot.setDialBackgroundPaint(Color.white);
        plot.setTickLabelsVisible(true);
        plot.setValueFont(font);
        plot.setTickLabelFont(font);
        plot.setTickLabelPaint(Color.darkGray);
        plot.setTickPaint(Color.black);
        plot.setValuePaint(Color.black);

        JFreeChart chart = new JFreeChart("", plot);
        TextTitle title = new TextTitle(" " + label.getText() + " ", font);
        title.setBackgroundPaint(Color.gray);
        title.setPaint(Color.white);
        chart.setTitle(title);
        ChartPanel chartPanel = new ChartPanel(chart);
        chartPanel.setPreferredSize(dialDimension);
        chartPanel.setSize(new Dimension(150, 150));
        plot.setBackgroundPaint(new Color(255, 255, 255, 0));
        plot.setBackgroundImageAlpha(0.0f);
        chart.setBackgroundPaint(new Color(255, 255, 255, 0));
        chartPanel.setBackground(new Color(255, 255, 255, 0));
        comps.add(chartPanel);
        dials.add(chartPanel);
    }

    readoutDisplay.removeAll();
    updateDashboard();

}