JFrame отображается с небольшой шириной или высотой,
Код должен быть:
frame.pack(); // added
frame.setVisible(true);
Метод pack()
вызовет макет менеджер, используемый фреймом, и все компоненты Swing будут отображаться с их предпочтительным размером.
Кроме того, как правило, нет необходимости устанавливать предпочтительный размер панели вручную, поскольку вы будете добавлять компоненты к панели, и поэтому предпочтительный размер должен зависеть от компонентов, которые вы добавляете на панель.
Прочтите раздел из учебника Swing на Использование менеджеров макетов для получения дополнительной информации и примеров *. 1015 *