Bonjour,
Il s'agit peut être d'une question anodine, mais je n'ai pas trouvé la solution.
Avant de balancer le code voici ce que je voudrai faire:
J'ai crée un JDialog contenant un JButton Ok, sur lequel j'ai mis un event. L'event se trouve dans une autre classe comme préconiser dans le tutoriel de Baptiste Wicht (le tuto ici).
Pour le moment j'y ai mis qu'une instruction (fait un beep). Le beep fonctionne, preuve que ce n'est pas l'event qui ne fonctionne pas.
Je voudrai qu'en appuyant sur le bouton ok la JDialog se ferme...
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 package filrouge; import java.awt.*; import java.awt.event.*; import javax.swing.*; public class c_EventAPopos_but_close extends AbstractAction{ public cAPropos pan; public c_EventAPopos_but_close (String titre){ super(titre); } public void actionPerformed(ActionEvent e){ java.awt.Toolkit.getDefaultToolkit().beep(); } }
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 package filrouge; import java.awt.*; import java.awt.event.*; import javax.swing.*; public class cAPropos extends JFrame { public cAPropos(){ build(); } private void build(){ JDialog dialog = new JDialog(); /* --------------------------------------------------------------------------/ * CONTENU --------------------------------------------------------------------------- */ // FOND JPanel background = new JPanel(); dialog.add(background); background.setLayout(new BoxLayout(background, BoxLayout.Y_AXIS)); // FOND LOGO INFORMATION JPanel pan_logo_info = new JPanel(); background.add(pan_logo_info); // PANEL LOGO JPanel pan_logo = new JPanel(); pan_logo_info.add(pan_logo); // LOGO JLabel lab_logo = new JLabel(); ImageIcon img_logo = new ImageIcon("img/DukeWave.gif"); lab_logo.setIcon(img_logo); pan_logo.add(lab_logo); // PANEL INFORMATIONS JPanel pan_info = new JPanel(); pan_logo_info.add(pan_info); pan_info.setLayout(new GridLayout(5, 2)); // INFORMATIONS JLabel lab_product_a = new JLabel("product :"); pan_info.add(lab_product_a); JLabel lab_product_b = new JLabel("Un Air de Java"); pan_info.add(lab_product_b); JLabel lab_version_a = new JLabel("version :"); pan_info.add(lab_version_a); JLabel lab_version_b = new JLabel("v0.1a"); pan_info.add(lab_version_b); JLabel lab_date_a = new JLabel("Date creation : "); pan_info.add(lab_date_a); JLabel lab_date_b = new JLabel("03/09/2009"); pan_info.add(lab_date_b); JLabel lab_date_maj_a = new JLabel("Maj : "); pan_info.add(lab_date_maj_a); JLabel lab_date_maj_b = new JLabel("03/09/2009"); pan_info.add(lab_date_maj_b); JLabel lab_author_a = new JLabel("Author : "); pan_info.add(lab_author_a); JLabel lab_author_b = new JLabel("VAN HOVE David"); pan_info.add(lab_author_b); // PANEL BOUTON OK JPanel pan_ok = new JPanel(); background.add(pan_ok); c_EventAPopos_but_close evt = new c_EventAPopos_but_close("ok"); evt.pan = this; JButton but_ok = new JButton(evt); pan_ok.add(but_ok); pan_ok.setLayout(new FlowLayout(FlowLayout.LEFT)); /* --------------------------------------------------------------------------/ * CARACTERISTIQUE DE LA FENETRE --------------------------------------------------------------------------- */ dialog.setVisible(true); dialog.setSize(200, 200); dialog.setResizable(false); dialog.setDefaultCloseOperation(dialog.DISPOSE_ON_CLOSE); dialog.pack(); } }
Partager