Bonjour,
je suis debutant en java et je tente d'afficher sur une zone de dessin:un texte(forme) muni d'une couleur controlé via une boite d'outils (sur celle ci deux listes et deux boutons).Mon probleme concerne de reaffichage de ce texte, surement la cause d'une mauvaise programmation.
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106 import javax.swing.*; import java.awt.*; import java.awt.event.*; public class outils extends JPanel implements ActionListener,ItemListener { private String form; private Color lacouleur; JButton Ok; JButton Efface; malisteForme mf=new malisteForme(); malisteCouleur mc=new malisteCouleur(); dess d=new dess(); public Color getlacouleur() { return this.lacouleur; } public void setlacouleur(Color lacouleur) { this.lacouleur=lacouleur; } public String getlaforme() { return this.form; } public void setlaforme(String form) { this.form=form; } public Color retournecouleur(String couleur) { Color obj=Color.WHITE; if(couleur.equals("Rouge")) obj=Color.RED; if(couleur.equals("Bleu")) obj=Color.BLUE; if(couleur.equals("Vert")) obj=Color.GREEN; if(couleur.equals("Jaune")) obj=Color.YELLOW; if(couleur.equals("Noir")) obj=Color.BLACK; return obj; } public void itemStateChanged(ItemEvent e) { Object obj=e.getSource(); if(obj==this.mf) { d.setlafor(mf.getSelectedItem()); repaint(); } if(obj==this.mc) { d.setlacoul(retournecouleur(mc.getSelectedItem())); repaint(); } } public void actionPerformed(ActionEvent e) { Object obj=e.getSource(); if(obj==this.Ok) { d.repaint(); } if(obj==this.Efface) { System.out.println("action sur le bouton efface"); } } public outils() { super(); setBackground(Color.BLACK); add(this.mf); mf.addItemListener(this); add(this.mc); mc.addItemListener(this); Ok=new JButton("OK"); add(Ok); Ok.addActionListener(this); Efface=new JButton("Effacer"); add(Efface); Efface.addActionListener(this); setVisible(true); } }
et voila la classe dessin:
Merci d'avance pour votre aide.Bonne journée
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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49 import javax.swing.*; import java.awt.*; import java.awt.Graphics; public class dess extends Panel{ private Color lacoul=Color.YELLOW; private String lafor="triangle"; public Color getlacoul() { return this.lacoul; } public String getlafor() { return this.lafor; } public void setlacoul(Color lacoul) { this.lacoul=lacoul; } public void setlafor(String laform) { this.lafor=laform; } public dess() { super(); setBackground(Color.YELLOW); setSize(300,300); setVisible(true); } public void paint(Graphics g) { super.paint(g); lafor=this.getlafor(); g.drawString(lafor,150,150); g.setColor(this.getlacoul()); } }![]()





Répondre avec citation








quand une réponse a été apportée à votre question. Aucune réponse ne sera donnée à des messages privés portant sur des questions d'ordre technique. Les forums sont là pour que vous y postiez publiquement vos problèmes.
suivez
Donc à l'execution du code, dans la classe ZoneDessin, je demande d'ecrire la couleur et la forme dans setLaCouleur et setLaForme correspondant aux choix selectionnés dans les JComboBox, cela marche parfaitement.Mais aprés appel à la methode repaint() dans ces fonctions aucun changement!couleur=rouge, et forme=abcd.Voici donc mon code que je ne conseille donc à personne
Partager