Bonjour à toutes et à tous,
Je poste ici car je pense que ce que j'ai fait sous NetBeans et son GUI doit pouvoir être obtenu avec un autre IDE comportant un GUI.
J'ai lu, un peu partout, que pour dessiner dans un JPanel, il fallait créer un composant étendant JPanel et dans lequel on redéfinissait la méthode "paintComponent(Graphics g)". Si cette manière de faire est opérationnelle, elle fait perdre l'avantage du placement de type FreeLayout obtenu grâce au GUI (ou alors, je ne sais pas comment faire).
J'ai trouvé une méthode de faire (qui existe sûrement mais que je n'ai pas réussi à trouver) qui permet de dessiner directement dans un JPanel issu de la palette.
- Dans la classe de la fenêtre principale, définir les paramètres qui permettront de modifier le dessin. Par exemple :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 private Rectangle r1, r2; private Color c1, c2; ...;- Dans le constructeur de la fenêtre principale, placer l'instruction suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part gMonPanel = monPanel.getGraphics();- Surcharger la méthode "paint(Graphics g)" de la fenêtre principale de la manière suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 @Override public void paint(Graphics g) { super.paint(g); gMonPanel.setColor(c1); gMonPanel.setCela ...; gMonPanel.drawRectangle(r1.getX(), ...); gMonPanel.drawBidule ...; gMonPanel.Tout_ce_qu'on_faire_avec_le_contexte_graphique; }- Enfin, à chaque fois que vous voulez modifier votre dessin, appelez la méthode
de la fenêtre principale.
Code : Sélectionner tout - Visualiser dans une fenêtre à part repaint();
Voilà, j'ai trouvé cela simple et évitant d'avoir à étendre une nouvelle classe à chaque fois qu'on a un petit "zibouiboui" à dessiner.
Vos remarques sont les bienvenues.
Cordialement.
Pierre.
Partager