Dimension () { // make sure all components fit int width = 0; int height = 0; for (int i = 0; i < myRootContainer.getComponentCount(); i++) { final RadComponent component = myRootContainer.getComponent(i); width = Math.max(width, component.getX() + component.getWidth()); height = Math.max(height, component.getY() + component.getHeight()); } width += 50; height += 40; Rectangle bounds = myScrollPane.getViewport().getBounds(); return new Dimension(Math.max(width, bounds.width), Math.max(height, bounds.height)); }