free mainpanel on reload (it is not disposed by java GC for some reason)

This commit is contained in:
honfika@gmail.com
2015-05-25 16:16:55 +02:00
parent 134fd1558a
commit dc28ce5da7
4 changed files with 35 additions and 11 deletions

View File

@@ -141,6 +141,7 @@ import java.awt.BorderLayout;
import java.awt.CardLayout;
import java.awt.Color;
import java.awt.Component;
import java.awt.Container;
import java.awt.Desktop;
import java.awt.FlowLayout;
import java.awt.Font;
@@ -3208,4 +3209,21 @@ public final class MainPanel extends JPanel implements TreeSelectionListener, Se
}
};
}
private void disposeInner(Container container) {
for (Component c : container.getComponents()) {
if (c instanceof Container) {
Container c2 = (Container) c;
disposeInner(c2);
}
}
container.removeAll();
container.setLayout(null);
Helper.emptyObject(container);
}
public void dispose() {
disposeInner(this);
}
}