@Override public void dispose() { try { // clear our componenents // ... freeze charts if (chart != null) chart.setNotify(false); // ... empty data if (dataset != null) dataset.clear(); // ... dispose chart composites if (chartComposites != null && !chartComposites.isDisposed()) chartComposites.dispose(); if (form != null) form.dispose(); if (toolkit != null) toolkit.dispose(); } catch (RuntimeException e) { e.printStackTrace(); } super.dispose(); }