Bonjour,
J'aimerais savoir comment fermer une JFrame grâce à une classe interne ?
Je m'explique, j'ai fait une JMenuBar qui ne contient pour le moment que des bêtes menus, dont un bouton "Exit" et donc, je souhaite pouvoir fermer cette JFrame en cliquant sur le bouton Exit.
Le problème est que j'utilise un ActionListener sur ce bouton, que j'implémente dans une classe interne.
Du coup, impossible de récupérer la JFrame elle-même pour faire un bête dipose() par exemple.
Est-il alors possible de faire cela ? Ou dois-je utiliser une autre technique ?
Mon code : (ne contient que les infos principales)
J'espère que tout est compréhensible. Si non, n'hésitez pas à me poser des questions.
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 public class MainFrame extends JFrame { private JMenuBar menuBar = new JMenuBar(); private JMenu file = new JMenu("File"); private JMenu tools = new JMenu("Tools"); private JMenuItem exit = new JMenuItem("Exit"); private JMenuItem sort = new JMenuItem("Sort"); public MainFrame() { /*Set the MenuBar and components*/ file.add(exit); tools.add(sort); menuBar.add(file); menuBar.add(tools); this.setJMenuBar(menuBar); exit.addActionListener(new ExitListener()); } // [TODO] : Comment fermer juste la Frame dans une classe ? class ExitListener implements ActionListener { public void actionPerformed(ActionEvent e) { System.exit(0); } } }
Merci d'avance pour votre aide.
Partager