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()); } }![]()
Partager