import java.beans.*; static NotTooOften fixSwingTitledBorderMemoryLeak_notTooOften = onlyEvery10Secs(); // just for printing svoid fixSwingTitledBorderMemoryLeak() { PropertyChangeListener[] l = UIManager.getPropertyChangeListeners(); for (O o : l) if (eq(className(o), "javax.swing.border.TitledBorder$1") && getOpt(o, "this$0") != null) { setOpt(o, "this$0", null); if (fixSwingTitledBorderMemoryLeak_notTooOften.yo()) print("FIXED TitledBorder bug."); } }