J'ai un problème d'affichage du dessin sur JPanel. J'ai créé trois classes qui sont liées les unes aux autres comme suit. Je me demandais pourquoi ce code, n'affiche pas mon dessin.JPanel n'affiche pas le dessin
c.add(pDraw);
pDraw.add(draw);
1) MAIN
public class mainPage {
public static void main(String[]args){
JFrame appFrame = new Frame();
appFrame.setVisible(true);
appFrame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
2) Jframe
public class Frame extends JFrame implements ActionListener{
private drawingBoard draw;
public Frame(){
draw = new drawingBoard(); //generate pattern
GridBagLayout m = new GridBagLayout();
Container c = (Container)getContentPane();
c.setLayout (m);
GridBagConstraints con;
.......
JPanel pDraw = new JPanel();
pDraw.setPreferredSize(new Dimension(500,500));
.....
c.add(pDraw);
pDraw.add(draw); // Call other class for drawing
.....
setResizable(false);
pack();
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
}
3) DPanel
public class drawingBoard extends JPanel {
.....
public void paint(Graphics g) {
......
}
}
Sans les contraintes de mise en page ou 'peinture (Graphics)' Code ceci est un peu difficile à déboguer. En haut de ma tête, 'drawingBoard' est de taille 0x0 en raison d'une erreur de mise en page; ou votre code de peinture est bancal. Sinon, avez-vous débogué votre code pour confirmer que 'paint (Graphics)' est appelé? –
Merci Kevin, tu as absolument raison, j'ai oublié de régler la taille du dessin :-). La méthode paint() fonctionne bien. Merci encore. – Jessy
Devrait avoir posté comme une réponse je suppose. : / –