private void dispose() { if (main != null) { main.dispose(); if (sim != null) { sim.removeOutputMonitor(main); } remove((Component) main); } main = null; sim = null; effectsTab.setMonitor(null); }
private void setMainDisplay(final SwingOutputMonitor<T> gom) { if (main != null) { sim.removeOutputMonitor(main); gom.setStep(main.getStep()); gom.setRealTime(main.isRealTime()); remove((Component) main); main.dispose(); } main = gom; if (sim != null) { new Thread(() -> sim.addOutputMonitor(main)).start(); } add((Component) main, BorderLayout.CENTER); revalidate(); effectsTab.setMonitor(gom); gom.setDrawLinks(effectsTab.isDrawingLinks()); }