Zeichnung mehr als ein Rechteck mit Java (awt)

Hier ist mein code:

class Ramka extends JFrame
    {
    public static final int SZEROKOSC = 800;
    public static final int WYSOKOSC = 600;
    Container powZawartosci = getContentPane();
    public Ramka()
        {
        setSize(SZEROKOSC, WYSOKOSC);
        setTitle("Siatka bryły by Paweł Mysior");
        }
    public void addRectangle(int startX, int startY, int sizeX)
        {
        drawRectangle rect = new drawRectangle(startX, startY, sizeX);
        powZawartosci.add(rect);
        }  

class drawRectangle extends JPanel
    {
    private int a, startX, startY;
    public drawRectangle(int startX, int startY, int a) //square
        {
        this.a = a;
        this.startX = startX;
        this.startY = startY;
        }
    public void paintComponent(Graphics g)
        {
        Rectangle2D rect = new Rectangle2D.Double(startX, startY, a, a);
        Graphics2D g1 = (Graphics2D) g;
        g1.draw(rect);
        }
    }

public class Main
    {
    public static void main(String[] args)
        {
        Ramka ramka = new Ramka();
        ramka.addRectangle(200, 200, 50);
        ramka.addRectangle(100, 100, 100);
        ramka.addRectangle(300, 300, 150);
        ramka.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        ramka.setVisible(true);
        }
    }

Was ich will, es zu tun ist, ziehen Sie drei Rechtecke (beiseite die Funktionalität und das Gefühl dies zu tun, ich bin einfach noch lernen).

Aber es zieht nur die letzten ein, beginnend bei 300 und 300. Ich weiß wirklich nicht verstehen, die paintComponent Sache...

Vielen Dank im Voraus für jede Hilfe,
Paul

InformationsquelleAutor pawelmysior | 2010-01-15
Schreibe einen Kommentar