Bonjour à tous,
Je suis en train de développer une application et je voudrais avoir le même comportement en cliquant sur la croix rouge de la fenêtre que sur l'item 'Quitter' de la barre de menu de la fenêtre que j'ai.
J'y suis arrivé, mais à quel prix... Pourriez vous m'aider à améliorer mon code (avec une Action par exemple ?)
De plus, j'aimerais mettre un raccourcis sur l'item 'Quitter' qui produirait lui aussi le même résultat que l'item 'Quitter' ou la croix rouge.
Merci d'avance à tous pour vos réponses,
Tolliob
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 import java.awt.event.WindowEvent; import java.awt.event.WindowListener; public class MyWindowListener implements WindowListener{ @Override public void windowOpened(WindowEvent e) {} @Override public void windowClosing(WindowEvent e) { ESSAI.action(); } @Override public void windowClosed(WindowEvent e) {} @Override public void windowIconified(WindowEvent e) {} @Override public void windowDeiconified(WindowEvent e) {} @Override public void windowActivated(WindowEvent e) {} @Override public void windowDeactivated(WindowEvent 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 import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JFrame; import javax.swing.JMenu; import javax.swing.JMenuBar; import javax.swing.JMenuItem; public class MyJFrame extends JFrame implements ActionListener { private static final long serialVersionUID = 1L; public MyJFrame() { // Proprietes de la fenetre int width = 400; int height = 200; this.setTitle("Essai"); this.setBounds(100, 100, width, height); this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); // Definition d'un item JMenuItem quit = new JMenuItem("Quitter"); quit.addActionListener(this); // Definition d'un menu JMenu action = new JMenu("Action"); action.add(quit); // Definition d'une JMenuBar JMenuBar menuBar = new JMenuBar(); this.setJMenuBar(menuBar); menuBar.add(action); // Ajout d'un ecouteur this.addWindowListener(new MyWindowListener()); } public static void action() { System.out.println("Trop top !"); } @Override public void actionPerformed(ActionEvent e) { ESSAI.action(); this.dispose(); } }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 public class Essai { public static void main(String[] args) { MyJFrame fenetre = new MyJFrame(); fenetre.setVisible(true); } }
Partager