You know when you have a JFrame, with a JDesktopPane in, then you can have several JInternalFrames open? You can close one JInternalFrame by clicking its [X] close button, but I was thinking it is more elegant to have a "closeItem" in a menu. I have worked out how to get a "closeItem" into a JMenuBar, and can get it to appear on screen, but what is the best way to close one JInternalFrame? I have tried the getSelectedFocus() method [or something like that], which gets the JRootPane of the JFrame, so that isn't helpful. In Horstmann's book it says that you have to get an array JInternalPane[], then iterate through it to find the object with focus, then . . . thatInternalPane.setClosed(true); I seems a complicated way to do it; does anybody know anything easier or more elegant? In C# we were told to put about two lines in the listener, and it took me about 30 seconds to realise you could write "this.ActiveMdiChild.close();". Is it really more complicated in Java?
CR
Jeff Albertson
Ranch Hand
Joined: Sep 16, 2005
Posts: 1780
posted
0
It's just as simple. Take a look at JDesktopPane's methods and you will see it.