Charger un canvas dans un panel de ma fenetre
Bonjour, tout d'abord merci de me lire.
Je débute avec les interfaces graphiques et je rencontre actuellement un souci :P
J'ai une fenêtre construite avec netBeans qui contient des options de paramétrage en haut, un panel au milieu et un textbox pour des résultats en bas. Ça ressemble à ça (ce qui est en bleu est le panel, il se nomme pnDessin) :
http://img530.imageshack.us/img530/7118/screentw.png
J'ai également une classe Canvas qui hérite d'un panel et qui dessine sur lui avec la méthode paint des objets géométriques grâce à la libraire java.awt.Graphics. Ça ressemble à ça :
Code:
1 2 3 4 5 6 7 8 9 10 11 12
|
import java.awt.*;
public class Canvas extends Panel {
public void paint(Graphics g) {
g.setColor(Color.BLACK);
g.drawOval(200, 200, 100, 100);
etc....
}
} |
Ce que je voudrais c'est charger le canvas avec mes dessins dans le panel de ma fenêtre lors du clic sur le bouton (ou alors remplacer le panel par mon canvas)... Je ne sais pas trop comment faire. J'ai essayé de faire ça dans le actionPerformed de mon bouton :
Code:
1 2 3
| Canvas can = new Canvas();
pnDessin.add(can);
pack(); |
Code:
1 2 3
| Canvas can = new Canvas();
pnDessin = can;
pack(); |
Mais rien ne s'affiche. Donc si quelqu'un était capable de m'aider ce serait très sympa.
J'ajoute que la classe Canvas n'est pas en cause puisque si je met ceci comme code dans mon actionperformed, ça s'affiche bien mais dans une nouvelle frame :
Code:
1 2 3 4 5 6
| Canvas can = new Canvas();
can.setPreferredSize(new Dimension(800,600));
Frame frame = new Frame();
frame.add(can);
frame.pack();
frame.setVisible(true); |
(ps: tout est en AWT, rien en SWING)
Merci d'avance :ccool: