我想使用一些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);
}
}
我有一个java类,main,在net beans中,我计算10000或10000000双值,并将它们存储在x []和y []中。我想在xy轴上制作一个简单的图形,在蓝色点的xy轴上连接是什么最简单的方法(使用main的x [] y [],在paint方法和循环0-100000中画点和线)?
答案 0 :(得分:0)
我不完全理解你的问题但是,如果你想在paint方法中访问main方法的数组,那么试试这个:
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);
}
希望这会有所帮助。
答案 1 :(得分:0)
在filtra类中创建一个setter方法。
private int[] x;
private int[] y;
public void setData(int[] x, int[] y) {
this.x=x;
this.y=y;
}
并在main中使用它,这样,您可以启动JFrame的许多实例,每个实例都绘制了不同的数据,它可能对您有用。