Bonjour!
Voici mon souci : J'ai un JFrame qui contient un JMenuBar et un JDesktopPane.
Le JDesktopPane contient (pour le moment) une JInternalFrame.
Le problème vient de la JInternalFrame. Quand je clique sur le bouton "fermer" (setClosable(true)), ben ça cache la fenêtre (HIDE_ON_CLOSE). Et quand la fenêtre est caché, je voudrais bien le signaler à un JCheckBoxMenuItem (qui se trouve dans la JMenuBar annoncée plus haut) en lui changeant son état (setState(false)).
Du coup, j'ai pondu ce code :
Bon, il y a un system.out.println("coucou") dans mon listener, que je souhaiterais remplacer par
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 import java.awt.Dimension; import javax.swing.JCheckBoxMenuItem; import javax.swing.JInternalFrame; import javax.swing.event.InternalFrameAdapter; import javax.swing.event.InternalFrameEvent; public class JFI extends JInternalFrame { private String monTitre; private JCheckBoxMenuItem JCBMIrelative; public JFI(Dimension dim, String s, JCheckBoxMenuItem JCBMI) { // TODO Auto-generated constructor stub this.monTitre = s; setTitle(this.monTitre); this.JCBMIrelative = JCBMI; setSize(dim); setVisible(true); setMaximizable(false); setResizable(true); setDefaultCloseOperation(HIDE_ON_CLOSE); addInternalFrameListener( new InternalFrameAdapter(){ public void internalFrameClosed(InternalFrameEvent e) { System.out.println("coucou"); } }); setClosable(true); } }
Le truc, c'est que pour le moment, la console ne m'affiche même pas "coucou"; j'en déduis donc que mon programme ne passe même po dans mon listener.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 JCBMIrelative.setState(false);
Alors quoi ?
Je dois m'y prendre comment ?
Est-ce que j'ai tout faux ?
Partager