this.controller.setVisualProperty(view.getClass().getName() + DETACHED_VIEW_VISUAL_PROPERTY, false);
JComponent dummyComponent = (JComponent)findChild(this, view.getClass().getName());
if (dummyComponent != null) {
JComponent component = (JComponent)view;
Window window = SwingUtilities.getWindowAncestor(component);
component.setBorder(dummyComponent.getBorder());
Container parent = dummyComponent.getParent();
if (parent instanceof JSplitPane) {
JSplitPane splitPane = (JSplitPane)parent;
float dividerLocation = (Float)this.home.getVisualProperty(
view.getClass().getName() + DETACHED_VIEW_DIVIDER_LOCATION_VISUAL_PROPERTY);
splitPane.setDividerSize(UIManager.getInt("SplitPane.dividerSize"));
splitPane.setDividerLocation(dividerLocation);
if (splitPane.getLeftComponent() == dummyComponent) {
splitPane.setLeftComponent(component);
} else {
splitPane.setRightComponent(component);
}
} else {
int componentIndex = parent.getComponentZOrder(dummyComponent);
parent.remove(componentIndex);
parent.add(component, componentIndex);
}
window.dispose();
}
}