Bonjour, tout d'abord merci de me lire.
Je débute avec les interfaces graphiques et je rencontre actuellement un souci
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) :
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 :
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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.... } }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Canvas can = new Canvas(); pnDessin.add(can); pack();Mais rien ne s'affiche. Donc si quelqu'un était capable de m'aider ce serait très sympa.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 Canvas can = new Canvas(); pnDessin = can; pack();
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 :
(ps: tout est en AWT, rien en SWING)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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);
Merci d'avance![]()









Répondre avec citation



Partager