On Aug 1, 2011, at 11:37 AM, Sam Brett wrote: > Alright, I went with the first option. Only thing I needed to change > from > what you had is add dispose() at the end of doClose(). FWIW, I've made some additional modifications to Controller/Console/ SimpleController, making accessible four methods that might be useful for you: public ArrayList getAllInspectors(); public ArrayList getAllFrames(); public synchronized void showAllFrames(); public synchronized void hideAllFrames(); One minor consequence of these methods is a change in the inspector mechanism. Previously when you stopped a simulation and started it again, all the dragged-out-window inspectors would get closed, *except* for charting inspectors, which would stay around but basically never update themselves again. Now the charting inspectors also close themselves. This is good and bad. It's good because it's consistent. It's bad because if you have a charting inspector attached to a model inspector, and open it before you start the model, then play the model, the inspector immediately closes again. For example, in HeatBugs, if you go to the model inspector while stopped, and make a histogram our of the bugXPos, and THEN press play, that new histogram will be deleted. It's a bit confusing but I think better than the histogram just looking frozen. Not sure if it's worth spending brain cells finding a more GUI-friendly approach. Sean