sclass SingleComponentPanel extends JPanel { *() { super(new BorderLayout); } *(Component component) { this(); if (component != null) setComponent(component); } void setComponent(Component component) { removeAll(); if (component != null) add(BorderLayout.CENTER, wrap(component)); main.revalidate(this); } void noComponent() { setComponent(null); } }