⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 animatedchart.java

📁 JCCKit is a Java library which can be used in any Java application or applet to visualize scientific
💻 JAVA
字号:
import java.applet.Applet;import java.awt.BorderLayout;import java.awt.Button;import java.awt.Frame;import java.awt.Panel;import java.awt.event.ActionEvent;import java.awt.event.ActionListener;import java.awt.event.WindowAdapter;import java.awt.event.WindowEvent;import java.util.Properties;import jcckit.GraphicsPlotCanvas;import jcckit.data.DataCurve;import jcckit.data.DataPlot;import jcckit.data.DataPoint;import jcckit.util.ConfigParameters;import jcckit.util.PropertiesBasedConfigData;/** *  *  * @author Franz-Josef Elmer */public class AnimatedChart extends Applet {  private double[] _data = new double[]          {55.5, 34.2, 47.4, 53.1, 69.9, 68.7, 81.1};  private DataPlot _dataPlot;  public void init() {    GraphicsPlotCanvas plotCanvas = createPlotCanvas();    _dataPlot = new DataPlot();    _dataPlot.addElement(new DataCurve(""));    plotCanvas.connect(_dataPlot);    setLayout(new BorderLayout());    add(plotCanvas.getGraphicsCanvas(), BorderLayout.CENTER);    add(createControlPanel(), BorderLayout.SOUTH);  }  private GraphicsPlotCanvas createPlotCanvas() {    Properties props = new Properties();    ConfigParameters config        = new ConfigParameters(new PropertiesBasedConfigData(props));    props.put("plot/legendVisible", "false");    props.put("plot/coordinateSystem/xAxis/minimum", "-0.5");    props.put("plot/coordinateSystem/xAxis/maximum", "6.5");    props.put("plot/coordinateSystem/xAxis/axisLabel", "");    props.put("plot/coordinateSystem/xAxis/ticLabelFormat/className",              "jcckit.plot.TicLabelMap");    props.put("plot/coordinateSystem/xAxis/ticLabelFormat/map",              "0=Mo;1=Tu;2=We;3=Th;4=Fr;5=Sa;6=Su");    props.put("plot/coordinateSystem/yAxis/axisLabel", "growth rate");    props.put("plot/coordinateSystem/yAxis/maximum", "100");    props.put("plot/coordinateSystem/yAxis/ticLabelFormat", "%d%%");    props.put("plot/curveFactory/definitions", "curve");    props.put("plot/curveFactory/curve/withLine", "false");    props.put("plot/curveFactory/curve/symbolFactory/className",               "jcckit.plot.BarFactory");    props.put("plot/curveFactory/curve/symbolFactory/attributes/className",               "jcckit.graphic.ShapeAttributes");    props.put("plot/curveFactory/curve/symbolFactory/attributes/fillColor",               "0xfe8000");    props.put("plot/curveFactory/curve/symbolFactory/attributes/lineColor",               "0");    props.put("plot/curveFactory/curve/symbolFactory/size", "0.08");    props.put("plot/initialHintForNextCurve/className",               "jcckit.plot.PositionHint");    props.put("plot/initialHintForNextCurve/position", "0 0.1");    return new GraphicsPlotCanvas(config);  }    private Panel createControlPanel() {    Panel controlPanel = new Panel();    Button startButton = new Button("animate");    startButton.addActionListener(new ActionListener() {                public void actionPerformed(ActionEvent e) {                  new Thread() {                          public void run() {                            animate();                          }                        }.start();                }              });    controlPanel.add(startButton);        return controlPanel;  }    private void animate() {    DataCurve curve = new DataCurve("");    for (int i = 0; i < _data.length; i++) {      curve.addElement(new DataPoint(i, 0));    }    _dataPlot.replaceElementAt(0, curve);    for (int i = 0; i < _data.length; i++) {      double x = i;      double y = 0;      while (y < _data[i]) {        try {          Thread.sleep(50);        } catch (InterruptedException e) {}        y = Math.min(_data[i], y + 5);        curve.replaceElementAt(i, new DataPoint(x, y));      }    }  }    public static void main(String[] args) {    Frame frame = new Frame("Animated Chart");    frame.addWindowListener(new WindowAdapter() {              public void windowClosing(WindowEvent event) {                System.exit(0);              }             });    Applet applet = new AnimatedChart();    applet.init();    frame.add(applet);    frame.setSize(600, 500);    frame.show();  }}

⌨️ 快捷键说明

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