((JComponent) _gui).setPreferredSize(_dimension);
	private void update() {		Iterator j;		Container major, minor;		noteSelectedComponents();				// TODO: these two if blocks are still buggy & don't save sizing parameters correctly		// save the split-pane resize weights (if there are any) for restoration		/*		if(_center != null && _center.getParent() instanceof JSplitPane) {			JSplitPane jsp = (JSplitPane) _center.getParent();			//getDividerSize() getLastDividerLocation() 			//_horizontalResizeWeight = (double) jsp.getLastDividerLocation() / (double) jsp.getHeight();			System.out.println("set horizontal ratio to " + jsp.getLastDividerLocation());		}		if(_side != null && _side.getParent() instanceof JSplitPane) {			JSplitPane jsp = (JSplitPane) _side.getParent();			//_verticalResizeWeight = (double) jsp.getLastDividerLocation() / (double) jsp.getWidth();			System.out.println("set vertical ratio to " + jsp.getLastDividerLocation());		}		*/		/* build the panes */		_bottom = makePane(_bottomSet);		_side = makePane(_sideSet);		_center = makePane(_centerSet);		/* restore whichever views were open before the update */		setTopTab((Container) _sideOld);		setTopTab((Container) _bottomOld);		setTopTab((Container) _centerOld);		// Looks like		// |----------|		// |        | |		// | center | |		// |--------| |		// |________|_|		if(_bottomVis && _bottom != null) {			minor = new JSplitPane(JSplitPane.VERTICAL_SPLIT,					_center, _bottom);			((JSplitPane) minor).setDividerSize(2);			((JSplitPane) minor).setResizeWeight(_verticalResizeWeight);		} else {			minor = _center;		}				if(_sideVis && _side != null) {			major = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, 					minor, _side);			((JSplitPane) major).setDividerSize(2);			((JSplitPane) major).setResizeWeight(_horizontalResizeWeight);		} else {			major = minor;		}				if(_gui != null) {			_gui = major;		} else {			_gui = new JPanel();		}		_window.setContentPane(_gui);		validate();		_window.getRootPane().validate();	}