JPanel-re rajz

Fórumok

Egy talán egyszerűnek tűnő kérdésem lenne. Eddig még nem nagyon rajzolgattam Java-ban. Ahogy az általam talált leírásokból kivettem az egyszerűbb alakzatok elkészítéséhez Javaban egy jó módszer a JPanel-ből származtatni, majd a paintComponent -ben kirajzolni azt a pár dolgot amit szeretnék.

public class Rajz extends JPanel{

@Override
public void paintComponent(Graphics g) {
super.paintComponent(g);

g.setColor(Color.blue);
g.fillRect(1, 1, 200, 200);
}
}

(Netbeans 6.9.1-et használok. Létrehoztam benne egy új grafikus alkalmazást...)
Egy gombnyomásra mondjuk szeretném a rajzomat elhelyezni a mainPanel -re amit a netbeans létrehoz:

@Action
public void rajzol() {

Rajz rajz = new Rajz();

mainPanel.setBackground(Color.red);
mainPanel.repaint();

mainPanel.add(rajz);
}

(A pirosra színezést csak azért raktam bele, hogy a gomb működését ellenőrizzem.)
Viszont a mainPanelre az általam készített rajz-ot nem helyezi el a program, legalábbis nem jelenik meg láthatóan. Erre kéne egy megoldás nekem. Biztos valami egyszerű, de a példákban amiket találok mindenhol a frame-re rajzolnak a JPanel-ből származtatott osztállyal.
~

Hozzászólások

miután hozzáadod a rajzot a mainPanelhez, még1 repaint (megnemmondom melyikre - a rajzra vagy a mainPanelre...)?