• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Liutauras Vilda
  • Junilu Lacar
  • Jeanne Boyarsky
  • Bear Bibeault
Sheriffs:
  • Knute Snortum
  • Tim Cooke
  • Devaka Cooray
Saloon Keepers:
  • Ron McLeod
  • Stephan van Hulst
  • Tim Moores
  • Tim Holloway
  • Carey Brown
Bartenders:
  • Piet Souris
  • Frits Walraven
  • Ganesh Patekar

Closing one of several JInternalFrames

 
Marshal
Posts: 65806
250
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
 
Ranch Hand
Posts: 1780
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
It's just as simple. Take a look at JDesktopPane's methods and you will see it.
 
Campbell Ritchie
Marshal
Posts: 65806
250
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Found it. Thank you. I had sought high and low in JInternalFrame and never looked at JDesktopPane.
 
When I was younger I felt like a man trapped inside a woman’s body. Then I was born. My twin is a tiny ad:
Building a Better World in your Backyard by Paul Wheaton and Shawn Klassen-Koop
https://coderanch.com/wiki/718759/books/Building-World-Backyard-Paul-Wheaton
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!