Java 试图制作一个持续运行的线条图

Java 试图制作一个持续运行的线条图,java,linegraph,Java,Linegraph,我有一个运行良好的程序,它使用自变量的不同值重复一系列公式。现在我想在循环的每次迭代后绘制一个计算图。这就是我到目前为止所做的: public static void main(String[] args) { JFrame window=new JFrame(); window.setTitle("Try"); window.setSize(600, 400); window.setLayout(new BorderLayout()); windo

我有一个运行良好的程序,它使用自变量的不同值重复一系列公式。现在我想在循环的每次迭代后绘制一个计算图。这就是我到目前为止所做的:

public static void main(String[] args) {


    JFrame window=new JFrame();
    window.setTitle("Try");
    window.setSize(600, 400);
    window.setLayout(new BorderLayout()); 
    window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    window.setVisible(true);

    XYSeries series = new XYSeries("graph");
    XYSeriesCollection dataset= new XYSeriesCollection(series);

    ...

我的大问题是如何获取数据并生成数据集,然后如何在每次循环迭代后更新图形?我已经导入了JFreeChart类和一些swing。如有任何见解,将不胜感激

过了一段时间,我才明白这一点。诀窍是在循环内部设置可见。但是现在,JFrame会随着每次迭代而重新绘制。我不知道是否有办法保持帧不变。如果有人知道,我会很感激你的帮助

package trylog{
import javax.swing.JFrame;
import java.awt.BorderLayout;
java.util.List;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartPanel;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.axis.DateAxis;
import org.jfree.chart.axis.ValueAxis;
import org.jfree.chart.plot.CombinedDomainXYPlot;
import org.jfree.chart.plot.XYPlot;
import org.jfree.data.category.CategoryDataset;
import org.jfree.data.category.DefaultCategoryDataset;
import org.jfree.data.general.Dataset;
import org.jfree.data.general.DatasetChangeListener;
import org.jfree.data.general.DatasetGroup;
import org.jfree.data.time.Millisecond;
import org.jfree.data.time.TimeSeries;
import org.jfree.data.time.TimeSeriesCollection;
import org.jfree.data.xy.XYDataset;
import org.jfree.data.xy.XYSeries;
import org.jfree.data.xy.XYSeriesCollection;
import org.jfree.ui.ApplicationFrame;
import org.jfree.ui.RefineryUtilities;
import sun.security.jca.GetInstance.Instance;

public class TryLog {
private static Object InstanceTools;
public static void main(String[] args) {


    JFrame window=new JFrame();
    window.setTitle("Try");
    window.setSize(600, 400);
    window.setLayout(new BorderLayout()); 
    window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    //window.setVisible(true);

    XYSeries series = new XYSeries("graph");
    XYSeriesCollection dataset= new XYSeriesCollection(series);
    double[] newArray= new double[1000];
    for (int j=0;j<1000;j++)
    {
        newArray[j]=1+10;
    }
    JFreeChart chart=ChartFactory.createXYLineChart("Graph Try", "hi", "bye", dataset);
    window.add(new ChartPanel(chart),BorderLayout.CENTER);

    int x=0;
    int number=10;

  JFrame window1=new JFrame();
    window1.setTitle("Try");
    window1.setSize(600, 400);
    window1.setLayout(new BorderLayout()); 
    window1.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
    //window.setVisible(true);

    XYSeries series1 = new XYSeries("graph");
    XYSeriesCollection dataset1= new XYSeriesCollection(series1);

    double[] newArray1= new double[1000];
    for (int j=0;j<1000;j++)
    {
        newArray[j]=1+10;
    }
    JFreeChart chart1=ChartFactory.createXYLineChart("Graph Try", "hi", "bye", dataset1);
    window1.add(new ChartPanel(chart1),BorderLayout.CENTER);

    int y=0;
    int number1=10;
    for (int i=0;i<10000;i++)
    {
       series.add(x,number);
        x++;
        number++;

        window.setVisible(true);


        series1.add(y,number1);
        y++;
        number1++;
        window1.setVisible(true);
    }
}