Я хочу нарисовать прямоугольник при вводе arr[i][j]==1
, но метод рисования повторяет процесс 3 раза. Как я могу это исправить?
Я назвал краску из моего основного класса так:
new foo(cnv).start();//cnv is an Integer 2d array
А вот мой класс foo, который рисует прямоугольники:
public class foo extends JPanel{
Integer k[][];
public void paint(Graphics g){
int row=k.length;
int col=k[0].length;
System.out.println(row+" "+col);
for(int i = 0; i < row; i+=1){
for(int j = 0; j < col; j+=1){
if (k[i][j]==1)
g.fillRect(i,j,10,10);
}
}
}
public foo(Integer k[][]){
this.k=k;
}
public void start(){
JFrame frame = new JFrame();
frame.setSize(1000,1000);
frame.getContentPane().add(new foo(k));
frame.setLocationRelativeTo(null);
frame.setBackground(Color.LIGHT_GRAY);
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setVisible(true);
}
}