meterchartdemo3.java

来自「Jfreechart 源码例子 是和jfreechart developmen」· Java 代码 · 共 75 行

JAVA
75
字号
package demo;

import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.Font;
import java.awt.GridLayout;
import javax.swing.JPanel;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.DialShape;
import org.jfree.chart.plot.MeterInterval;
import org.jfree.chart.plot.MeterPlot;
import org.jfree.data.Range;
import org.jfree.data.general.DefaultValueDataset;
import org.jfree.data.general.ValueDataset;
import org.jfree.ui.ApplicationFrame;
import org.jfree.ui.RefineryUtilities;

public class MeterChartDemo3 extends ApplicationFrame
{
  public MeterChartDemo3(String paramString)
  {
    super(paramString);
    JPanel localJPanel = createDemoPanel();
    localJPanel.setPreferredSize(new Dimension(500, 270));
    setContentPane(localJPanel);
  }

  private static JFreeChart createChart(String paramString, ValueDataset paramValueDataset, DialShape paramDialShape)
  {
    MeterPlot localMeterPlot = new MeterPlot(paramValueDataset);
    localMeterPlot.setDialShape(paramDialShape);
    localMeterPlot.setRange(new Range(0D, 60.0D));
    localMeterPlot.addInterval(new MeterInterval("Normal", new Range(0D, 35.0D), Color.lightGray, new BasicStroke(2F), new Color(0, 255, 0, 64)));
    localMeterPlot.addInterval(new MeterInterval("Warning", new Range(35.0D, 50.0D), Color.lightGray, new BasicStroke(2F), new Color(255, 255, 0, 64)));
    localMeterPlot.addInterval(new MeterInterval("Critical", new Range(50.0D, 60.0D), Color.lightGray, new BasicStroke(2F), new Color(255, 0, 0, 128)));
    localMeterPlot.setNeedlePaint(Color.darkGray);
    localMeterPlot.setDialBackgroundPaint(Color.white);
    localMeterPlot.setDialOutlinePaint(Color.gray);
    localMeterPlot.setMeterAngle(260);
    localMeterPlot.setTickLabelsVisible(true);
    localMeterPlot.setTickLabelFont(new Font("Dialog", 1, 10));
    localMeterPlot.setTickLabelPaint(Color.darkGray);
    localMeterPlot.setTickSize(5.0D);
    localMeterPlot.setTickPaint(Color.lightGray);
    localMeterPlot.setValuePaint(Color.black);
    localMeterPlot.setValueFont(new Font("Dialog", 1, 14));
    JFreeChart localJFreeChart = new JFreeChart(paramString, JFreeChart.DEFAULT_TITLE_FONT, localMeterPlot, true);
    ChartUtilities.applyCurrentTheme(localJFreeChart);
    return localJFreeChart;
  }

  public static JPanel createDemoPanel()
  {
    JPanel localJPanel = new JPanel(new GridLayout(1, 3));
    DefaultValueDataset localDefaultValueDataset = new DefaultValueDataset(23.0D);
    ChartPanel localChartPanel1 = new ChartPanel(createChart("DialShape.PIE", localDefaultValueDataset, DialShape.PIE));
    ChartPanel localChartPanel2 = new ChartPanel(createChart("DialShape.CHORD", localDefaultValueDataset, DialShape.CHORD));
    ChartPanel localChartPanel3 = new ChartPanel(createChart("DialShape.CIRCLE", localDefaultValueDataset, DialShape.CIRCLE));
    localJPanel.add(localChartPanel1);
    localJPanel.add(localChartPanel2);
    localJPanel.add(localChartPanel3);
    return localJPanel;
  }

  public static void main(String[] paramArrayOfString)
  {
    MeterChartDemo3 localMeterChartDemo3 = new MeterChartDemo3("JFreeChart: MeterChartDemo3.java");
    localMeterChartDemo3.pack();
    RefineryUtilities.centerFrameOnScreen(localMeterChartDemo3);
    localMeterChartDemo3.setVisible(true);
  }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?