Panowie, pierwszy post, nie zjedzcie mnie : )
Jestem newbie, robię Conwayowską grę w życie.
Aktualnie jestem na etapie rysowania na panelu losowo kwadratów. Jak wiadomo muszę zapamiętać, ich położenie. Tutaj pojawia się pierwszy problem. Przy wypełnianiu listy umieszczonej w paintComponent, złożonej z punktów program wysypuje się. Samo zapisywanie wartości x1 , x2 do punktu nie działa. Nie mam pojęcia dlaczego. Kombinowałem na kilka sposobów, ale zawsze jest to samo. Dostanę małą pomoc?
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Point;
import java.awt.Shape;
import java.awt.geom.Point2D;
import java.awt.geom.Rectangle2D;
import java.util.ArrayList;
import java.util.Random;
import javax.swing.JPanel;
public class Panel_Gry extends JPanel {
//tworzymy zmienne, obiekty
Rectangle2D rect;
int x1,y1; // polozenie kwadratu,
Point p;
ArrayList<Point> lista = new ArrayList(); // tutaj zapisujemy wszystkie powstałe obiekty
int []tablica;
//tworz konstruktor
public Panel_Gry(){
}
protected void paintComponent(Graphics g){
super.paintComponent(g);
Graphics2D g2d = (Graphics2D) g;
//tworz petle rysujaca losowo polozone kwadraty
for(int i=0; i<10; i++){
Random a = new Random();
Random aa = new Random();
int x1 = a.nextInt(29)*10;
int y1 = aa.nextInt(29)*10;
p.setLocation(x1, y1);
lista.add(p);
rect = new Rectangle2D.Double(x1, y1, 10, 10);
g2d.draw(rect);
if(x1<100){ //sprawdzenie czy x<100 , jesli tak - wypelnj kwadrat
g2d.fill(rect);
}
}
}
}