dynamicdatademo2.java
来自「Jfreechart 源码例子 是和jfreechart developmen」· Java 代码 · 共 146 行
JAVA
146 行
package demo;
import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.io.PrintStream;
import javax.swing.JButton;
import javax.swing.JPanel;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.axis.NumberAxis;
import org.jfree.chart.axis.ValueAxis;
import org.jfree.chart.plot.XYPlot;
import org.jfree.chart.renderer.xy.DefaultXYItemRenderer;
import org.jfree.data.time.Millisecond;
import org.jfree.data.time.TimeSeries;
import org.jfree.data.time.TimeSeriesCollection;
import org.jfree.ui.ApplicationFrame;
import org.jfree.ui.RefineryUtilities;
public class DynamicDataDemo2 extends ApplicationFrame
{
static Class class$org$jfree$data$time$Millisecond;
public DynamicDataDemo2(String paramString)
{
super(paramString);
setContentPane(createDemoPanel());
}
public static JPanel createDemoPanel()
{
return new MyDemoPanel();
}
public static void main(String[] paramArrayOfString)
{
DynamicDataDemo2 localDynamicDataDemo2 = new DynamicDataDemo2("JFreeChart: DynamicDataDemo2.java");
localDynamicDataDemo2.pack();
RefineryUtilities.centerFrameOnScreen(localDynamicDataDemo2);
localDynamicDataDemo2.setVisible(true);
}
static Class class$(String paramString)
{
try
{
return Class.forName(paramString);
}
catch (ClassNotFoundException localClassNotFoundException)
{
throw new NoClassDefFoundError(localClassNotFoundException.getMessage());
}
}
static class MyDemoPanel extends DemoPanel
implements ActionListener
{
private TimeSeries series1;
private TimeSeries series2;
private double lastValue1 = 100.0D;
private double lastValue2 = 500.0D;
public MyDemoPanel()
{
super(new BorderLayout());
this.series1 = new TimeSeries("Random 1", DynamicDataDemo2.class$org$jfree$data$time$Millisecond);
this.series2 = new TimeSeries("Random 2", DynamicDataDemo2.class$org$jfree$data$time$Millisecond);
TimeSeriesCollection localTimeSeriesCollection1 = new TimeSeriesCollection(this.series1);
TimeSeriesCollection localTimeSeriesCollection2 = new TimeSeriesCollection(this.series2);
JFreeChart localJFreeChart = ChartFactory.createTimeSeriesChart("Dynamic Data Demo 2", "Time", "Value", localTimeSeriesCollection1, true, true, false);
addChart(localJFreeChart);
XYPlot localXYPlot = (XYPlot)localJFreeChart.getPlot();
ValueAxis localValueAxis = localXYPlot.getDomainAxis();
localValueAxis.setAutoRange(true);
localValueAxis.setFixedAutoRange(10000.0D);
localXYPlot.setDataset(1, localTimeSeriesCollection2);
NumberAxis localNumberAxis = new NumberAxis("Range Axis 2");
localNumberAxis.setAutoRangeIncludesZero(false);
localXYPlot.setRenderer(1, new DefaultXYItemRenderer());
localXYPlot.setRangeAxis(1, localNumberAxis);
localXYPlot.mapDatasetToRangeAxis(1, 1);
ChartUtilities.applyCurrentTheme(localJFreeChart);
ChartPanel localChartPanel = new ChartPanel(localJFreeChart);
add(localChartPanel);
JButton localJButton1 = new JButton("Add To Series 1");
localJButton1.setActionCommand("ADD_DATA_1");
localJButton1.addActionListener(this);
JButton localJButton2 = new JButton("Add To Series 2");
localJButton2.setActionCommand("ADD_DATA_2");
localJButton2.addActionListener(this);
JButton localJButton3 = new JButton("Add To Both");
localJButton3.setActionCommand("ADD_BOTH");
localJButton3.addActionListener(this);
JPanel localJPanel = new JPanel(new FlowLayout());
localJPanel.setBackground(Color.white);
localJPanel.add(localJButton1);
localJPanel.add(localJButton2);
localJPanel.add(localJButton3);
add(localJPanel, "South");
localChartPanel.setPreferredSize(new Dimension(500, 270));
}
public void actionPerformed(ActionEvent paramActionEvent)
{
double d;
Millisecond localMillisecond;
int i = 0;
int j = 0;
if (paramActionEvent.getActionCommand().equals("ADD_DATA_1"))
{
i = 1;
}
else if (paramActionEvent.getActionCommand().equals("ADD_DATA_2"))
{
j = 1;
}
else if (paramActionEvent.getActionCommand().equals("ADD_BOTH"))
{
i = 1;
j = 1;
}
if (i != 0)
{
d = 0.90000000000000002D + 0.20000000000000001D * Math.random();
this.lastValue1 *= d;
localMillisecond = new Millisecond();
System.out.println("Now = " + localMillisecond.toString());
this.series1.add(new Millisecond(), this.lastValue1);
}
if (j != 0)
{
d = 0.90000000000000002D + 0.20000000000000001D * Math.random();
this.lastValue2 *= d;
localMillisecond = new Millisecond();
System.out.println("Now = " + localMillisecond.toString());
this.series2.add(new Millisecond(), this.lastValue2);
}
}
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?