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.
~
- 1800 megtekintés
Hozzászólások
miután hozzáadod a rajzot a mainPanelhez, még1 repaint (megnemmondom melyikre - a rajzra vagy a mainPanelre...)?
- A hozzászóláshoz be kell jelentkezni
Próbálgattam elhelyezni a repaint-et (mindkettő helyen), de nem akar megjelenni ettől még sajnos.(ha mondjuk egy jTextField-et helyezek el, az ugye gond nélkül megjelenik a mainPanel-ben.)
- A hozzászóláshoz be kell jelentkezni
ezt a tutorialt ajanlom: http://download.oracle.com/javase/tutorial/2d/index.html
- A hozzászóláshoz be kell jelentkezni