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

📄 demo.java

📁 这是一个十分有用的java图形工具包
💻 JAVA
字号:
package net.turbochen.graph.demo;
import net.turbochen.graph.*;
import net.turbochen.graph.util.*;

import javax.swing.*;
import java.awt.event.*;
import java.awt.*;
/**
 * @author Turbo Chen
 */
public class Demo implements WindowListener
{
    double[] y1 = new double[]{
        12.5,14.1,+13.2,11.4,13.25,12.32
    };
    double[] y2 = new double[]{
        13.2,12.7,14.5,12.3,11.5,13.2
    };
    public void LineChart()
    {
        try
        {
            DataSeries ds = new DefaultDataSeries(
                                        Primary2ObjectUtil.Doulbe2Object(y1));
            DataSeries ds2 = new DefaultDataSeries(
                                        Primary2ObjectUtil.Doulbe2Object(y2));
            XAxis xaxis = new XAxis(new XScale(0,y1.length+1),ds.size());
            YAxis yaxis = new YAxis(new YScale(10,15),4);
            xaxis.setDrawGrid(true);
            yaxis.setDrawGrid(true);
            LinePlot plot = new LinePlot(ds,xaxis,yaxis);
            //plot.addDataSeries(ds2);
            Chart chart = new Chart(xaxis,yaxis,plot);
            JFrame frame = new JFrame("Line Plot Demo");
            frame.setSize(400,300);
            frame.getContentPane().add(chart);
            frame.setVisible(true);
        
        }
        catch (InvalidDataException e)
        {
            e.printStackTrace();
        }

    }
    
    public void BarChart()
    {
        try
        {
            DataSeries ds = new DefaultDataSeries(
                                        Primary2ObjectUtil.Doulbe2Object(y1));
            DataSeries ds2 = new DefaultDataSeries(
                                        Primary2ObjectUtil.Doulbe2Object(y2));
            XAxis xaxis = new XAxis(new XScale(0,y1.length+1),ds.size());
            YAxis yaxis = new YAxis(new YScale(10,15),4);
            xaxis.setDrawGrid(false);
            yaxis.setDrawGrid(true);
            BarPlot plot = new BarPlot(ds,xaxis,yaxis);
            //plot.addDataSeries(ds2);
            Chart chart = new Chart(xaxis,yaxis,plot);
            JFrame frame = new JFrame("Bar Plot Demo");
            frame.setSize(400,300);
            frame.getContentPane().add(chart);
            frame.setVisible(true);
        
        }
        catch (InvalidDataException e)
        {
            e.printStackTrace();
        }

    }
    
    public void MultipleChart()
    {
        try
        {
            DataSeries ds = new DefaultDataSeries(
                                        Primary2ObjectUtil.Doulbe2Object(y1));
            XAxis xaxis = new XAxis(new XScale(0,y1.length+1),ds.size());
            YAxis yaxis = new YAxis(new YScale(10,15),4);
            xaxis.setDrawGrid(true);
            yaxis.setDrawGrid(true);
            LinePlot linePlot = new LinePlot(ds,xaxis,yaxis);
            BarPlot barPlot = new BarPlot(ds,xaxis,yaxis);
            Chart chart = new Chart(xaxis,yaxis,barPlot);
            chart.addPlot(linePlot);
            JFrame frame = new JFrame("Multiple Plot Demo");
            frame.setSize(400,300);
            frame.getContentPane().add(chart);
            frame.setVisible(true);            
            
        }
        catch (InvalidDataException e)
        {
            e.printStackTrace();
        }   
    }
    
    public void RealtimeChart()
    {
        try
        {
            final RealtimeDataSeries ds = new RealtimeDataSeries(
                                        Primary2ObjectUtil.Doulbe2Object(y1));
            final XAxis xaxis = new XAxis(new XScale(0,y1.length+1),ds.size());
            final YAxis yaxis = new YAxis(new YScale(10,15),4);
            xaxis.setDrawGrid(true);
            yaxis.setDrawGrid(true);
            LinePlot plot = new LinePlot(ds,xaxis,yaxis);
            RealtimeChart chart = new RealtimeChart(xaxis,yaxis,plot);
            ds.registerDataChangeListener(chart);
            JFrame frame = new JFrame("Realtime Chart Demo");
            frame.setSize(400,300);
            frame.getContentPane().add(chart);
            frame.setVisible(true);
            
            Runnable run = new Runnable()
            {
                public void run()
                {
                    while (true)
                    {
                        try
                        {
                            Thread.sleep(1500);
                        }
                        catch (InterruptedException e)
                        {
                            e.printStackTrace();
                        }
                        double data = 10+Math.random()*5;
                        ds.addDataY(new Double(data));
                        xaxis.getScale().setMin(xaxis.getScale().getMin()+1);
                        xaxis.getScale().setMax(((Double)ds.getXData(ds.size()-1)).doubleValue()+1);
                    }
                }
            };
            Thread t = new Thread(run);
            t.start();

        }
        catch (InvalidDataException e)
        {
            e.printStackTrace();
        }
    }

    public static void main(String[] srgs)
    {
        Demo demo = new Demo();

        JFrame frame = new JFrame("Demo Chart");
        frame.addWindowListener(demo);
        frame.getContentPane().setLayout(new GridLayout(2,2));
        JButton lineChartButton = new JButton("Line Chart");
        lineChartButton.addActionListener(demo.new ButtonActionListener(demo));
        lineChartButton.setActionCommand("Line Chart");
        frame.getContentPane().add(lineChartButton);
        JButton barChartButton = new JButton("Bar Chart");
        barChartButton.addActionListener(demo.new ButtonActionListener(demo));
        barChartButton.setActionCommand("Bar Chart");
        frame.getContentPane().add(barChartButton);        
        JButton multipleChartButton = new JButton("Multiple Chart");
        multipleChartButton.addActionListener(demo.new ButtonActionListener(demo));
        multipleChartButton.setActionCommand("Multiple Chart");
        frame.getContentPane().add(multipleChartButton);        
        JButton realtimeChartButton = new JButton("Realtime Chart");
        realtimeChartButton.addActionListener(demo.new ButtonActionListener(demo));
        realtimeChartButton.setActionCommand("Realtime Chart");
        frame.getContentPane().add(realtimeChartButton);                        
        frame.setSize(400,300);
        frame.setVisible(true);
    }
    
    public void windowActivated(WindowEvent e){}
    public void windowClosed(WindowEvent e)
    {
       
    }
    public void windowClosing(WindowEvent e){System.exit(0);}
    public void windowDeactivated(WindowEvent e){}
    public void windowDeiconified(WindowEvent e){}
    public void windowIconified(WindowEvent e){}
    public void windowOpened(WindowEvent e){}
    
    
    class ButtonActionListener implements ActionListener
    {
        Demo demo;
        public ButtonActionListener(Demo demo)
        {
            this.demo = demo;
        }
        
        public void actionPerformed(ActionEvent event)
        {
            if ( event.getActionCommand().equals("Line Chart"))
                demo.LineChart();
            else if ( event.getActionCommand().equals("Bar Chart"))
                demo.BarChart();
            else if ( event.getActionCommand().equals("Multiple Chart"))
                demo.MultipleChart();
            else 
                demo.RealtimeChart();
                
        }
    }

}

⌨️ 快捷键说明

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