static void adjustPanelSizeToComponents(JPanel panel) { Rectangle r = new Rectangle(0, 0, 0, 0); for (Component c : panel.getComponents()) r = rectangleUnion(r, c.getBounds()); panel.setSize(r.x+r.width, r.y+r.height); }