Рамка должна быть видимой ПОСЛЕ добавления компонентов к рамке.
Итак:
frame.setVisible( true );
должно быть последним утверждением в вашем конструкторе.
Также:
frame.setSize(1000, 1000);
Не указывайте размеры жестко. Вы не знаете, какое разрешение могут использовать другие люди.
Вместо этого используйте:
frame.setExtendedState(JFrame.MAXIMIZED_BOTH);
и рамка развернется на вашем экране в развернутом виде.
Кроме того,
frame.getContentPane().setLayout(new GridLayout(1, 1));
Не используйте GridLayout. Макет по умолчанию - BorderLayout, который позволит вам добавить компонент в CENTER по умолчанию, и этот компонент заполнит все пространство кадра.