如何将 main 中的数组用于摆动图?

How can I use arrays from main for a swing graph?

我有一个 java class,主要是在 net beans 中,我在其中计算 10000 或 10000000 个双精度值,并将它们存储在 x[] 和 y[] 中。 我想用连接的蓝色点在 x-y 轴上制作这些双精度值的简单图表 最简单的方法是什么(使用 main 的 x[] y[],在 paint 方法和循环 0-100000 中绘制点和线)?

例如我有:

public class sth extends JFrame{


  public sthfiltra(){

    super();
  }

  @Override
    public void paint(Graphics g){
        for(int c=1; c<size; c++){
         g.drawLine(x[i-1],y[i-1],x[i],y[i]); 
        }
  }  

    public static void main(String[] args) throws IOException {
// [...]  in main i have some code. For example i want to use arrays x[i] and y[i] for visualization...

                   sth frame = new sth();
                   frame.setSize(200,200);
                   frame.setVisible(true);         

    }
}

您应该能够将参数添加到您的绘画方法中。

public void paint(Graphics g, int[] x, int[] y){
   for(int i = 1; i < x.size && i < y.size; i++){
   g.drawLine(x[i-1],y[i-1],x[i],y[i]); 
}

这将使您能够访问它们。

我在for循环中加入了第二个条件,这样你就不会运行进入数组索引越界的问题了。

public void paint(Graphics g, int size, double[] x, double[] y) {
  for (int i = 1; i < size; i++) {
    g.drawLine(Math.round((long) x[i - 1] * 10000), Math.round((long) y[i - 1] * 10000), Math.round((long) x[i] * 10000), Math.round((long) y[i] * 10000));
  }
}