It's not a secret anymore!
The moose likes Swing / AWT / SWT and the fly likes Disposing of Objects Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » Swing / AWT / SWT
Bookmark "Disposing of Objects" Watch "Disposing of Objects" New topic

Disposing of Objects

Gregg Bolinger
GenRocket Founder
Ranch Hand

Joined: Jul 11, 2001
Posts: 15302

I would like a little info that I can't figure out from what I have been reading on GC.
If I have a JTabbedPane with 4 Tabs, and on tab #4 I have a JPanel with different SWING objects placed on the JPanel, if I call dispose() on the JPanel when removing that Tab #4 from the JTabbedPane, will it and all the objects that are contained within that JPanel be GC'd? Do I need to dispose() the Tab itself or is removing it sufficient?
How do I ensure that when I remove the Tab the JPanel and it's objects get GC'd?
BTW - I have a class that extends JPanel. And all it's objects are contained in that class.

GenRocket - Experts at Building Test Data
Chantal Ackermann
Ranch Hand

Joined: Sep 28, 2000
Posts: 508
hi Gregg,
an object is garbage collected when there is no reference pointing to it anymore (except for WeakReferences). So setting all references to your panel to null should do it. Concerning the tab: I don't know what you have to do, to be sure that the JTabbedPane releases the reference to the Tab that you want to dispose of. You might read through the source of JTabbedPane to find out?
I agree. Here's the link:
subject: Disposing of Objects
It's not a secret anymore!