@Override public void doLayout() { Dimension size = getSize(); Insets insets = getInsets(); int w = size.width - insets.left - insets.right; Dimension prefSize = introImage.getPreferredSize(); introImage.setBounds(0, 0, prefSize.width, prefSize.height); if (introText.isVisible()) { prefSize = introText.getPreferredSize(); introText.setBounds(introText.getX(), introText.getY(), prefSize.width, prefSize.height); } }