将main的参数导入绘制方法



我想使用main的一些数组来绘制方法。例如,我需要paint方法使用的数组x[]和y[]。我应该将代码实现为方法还是构造函数?

import java.io.*;
import java.util.Scanner;
import static java.lang.Math.pow;
import java.text.DecimalFormat;
import java.text.NumberFormat;
import java.awt.*;
import javax.swing.*;
public class filtra extends JFrame{

  public filtra(){
    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...
                   filtra frame = new filtra();
                   frame.setSize(200,200);
                   frame.setVisible(true);         
    }
}

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

我不完全理解你的问题,但是,如果你想在你的绘制方法中访问主方法的数组,那么试试这个:

import java.io.*;
import java.util.Scanner;
import static java.lang.Math.pow;
import java.text.DecimalFormat;
import java.text.NumberFormat;
import java.awt.*;
import javax.swing.*;
public class filtra extends JFrame{
//declare arrays here
static int[] x=new int[10];
static int[] y=new int[10];
public filtra(){
   super();
}

public void paint(Graphics g){
       int size=10;
    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 {
               //do something with arrays example:
               x[1]=554;                   
               y[1]=248;
               filtra frame = new filtra();
               frame.setSize(200,200);
               frame.setVisible(true);         
   }

希望这能有所帮助。

在您的filtra类中创建一个setter方法。

private int[] x;
private int[] y;
public void setData(int[] x, int[] y) {
     this.x=x;
     this.y=y;
}

并主要使用它,这样,您可以启动JFrame的许多实例,每个实例都绘制了不同的数据,这对您来说可能很有用。

相关内容

  • 没有找到相关文章

最新更新