But I think Darryl's point was that JFrame uses BorderLayout by default, and you weren't using it correctly or maybe it wasn't the right layout for your application. The link he provided was to give you details on how to use BorderLayout - or another layout - correctly.