Bonjour,
je débute en Swing et je m'exerce en faisant des listener pour changer la couleur de mon "panel". Je crois avoir fait tout ce qu'il fallait: implementer l'interface ActionListener, définir la méthode actionPerformed, ajouter les listeners aux boutons... je ne sais pas ce qui manque. En fait quand on clique sur les boutons, ça ne fait rien du tout.
Voici le code et merci.
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 package Frames; import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; class Model extends JFrame implements ActionListener{ public Model(){ setTitle("REMPLISSAGE DE DONNEES"); setSize(350,200); setLocationRelativeTo(null); setResizable(true); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); init(); } public void init() { JPanel titres = new JPanel(new GridLayout(3,1)); JLabel nom = new JLabel("Nom"); titres.add(nom); JLabel prenom = new JLabel("Prénom"); titres.add(prenom); JLabel adresse = new JLabel("Adresse"); titres.add(adresse); JTextArea message = new JTextArea(); JPanel saisie = new JPanel(new GridLayout(3,1)); JTextField saisirNom = new JTextField(10); saisie.add(saisirNom); JTextField saisirPrenom = new JTextField(10); saisie.add(saisirPrenom); JTextField saisirAdresse = new JTextField(10); saisie.add(saisirAdresse); JPanel panelBoutons = new JPanel(new FlowLayout()); JButton bvalider = new JButton("JAUNE"); panelBoutons.add(bvalider); JButton bannuler = new JButton("ROUGE"); panelBoutons.add(bannuler); bannuler.addActionListener(this); bvalider.addActionListener(this); getContentPane().setLayout(new BorderLayout(10,10)); getContentPane().add(message, BorderLayout.NORTH); getContentPane().add(titres, BorderLayout.WEST); getContentPane().add(saisie, BorderLayout.CENTER); getContentPane().add(panelBoutons, BorderLayout.SOUTH); } private JButton valider; private JButton annuler; public void actionPerformed(ActionEvent e){ Object source = e.getSource(); Color color = getBackground(); if(source == valider) color = Color.yellow; else if (source == annuler) color = Color.red; setBackground(color); repaint(); } }
Partager