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 :
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);
	}
}
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
 
JCBMIrelative.setState(false);
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.

Alors quoi ?
Je dois m'y prendre comment ?
Est-ce que j'ai tout faux ?