Fermer une JDialog avec un JButton
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... :aie:
Code:
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:
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();
}
} |