Bonjour,
j'ai un problème avec une interface graphique, c'est plutôt un problème de méthode qu'un problème graphique en fait :
Je crée une JFrame depuis mon main, et cette JFrame crée un Jpanel, voilà le code qui marche sans la méthode ajouter_Rectangle_plein :
J'arrive à créer ma fenêtre avec mes dessins, mais j'aimerai lors de l'éxecution du main mettre à jour ces dessins! comment puis-je ajouter une méthode pour l'appliquer à mon objet Graphics "g", sachant que pour créer mon panneau je l'appelle avec :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 class Panneau extends JPanel{ public void paintComponent(Graphics g){ super.paintComponents(g); //g.drawRect(20,10,60,40); //g.drawOval(150,40,200,45); int taillegrille=10; infoEcran iecran = new infoEcran(); //setSize(iecran.getLargeur() -2 , iecran.getHauteur()-40); for (int i=1; i<= taillegrille;i++){ g.drawLine( (iecran.getLargeur() / taillegrille)*i, 0 ,(iecran.getLargeur() / taillegrille)*i, iecran.getHauteur()-10); g.drawLine(0, (iecran.getHauteur() / taillegrille)*i, iecran.getLargeur()-10, (iecran.getHauteur() / taillegrille)*i ); } public void ajouter_Rectangle_plein(int x, int y, int width, int height){ g.fillRect(x,y,width,height); } } }
pan = new Panneau();
j'ai donc essayé d'ajouter la méthode ajouter_Rectangle_plein, mais c'est pas possible (j'ai qd même tenté)! Je vois pas trop comment je pourrai mettre à jour mes graphiques.
De quelle manière dois-je m'y prendre pour ajouter une méthode depuis mon main, qui appellera une méthode présente dans Fenetre (qui hérite de JFrame), et qui appellera une méthode dans panneau?
Je peux appeller une méthode dans Fenetre normalement sans problème, mais comment créer une méthode dans JPanel alors que les graphiques sont crée avec paintComponent qui a été surchargé!
Je ne suis pas certain d'avoir été très clair dans mon explication (c'est pas simple à expliquer non plus)... si vous ne comprenez pas, n'hésitez pas à me demander[/code]
Partager