JInternalFrame

pessoal estou com um problema simples na classe quero que ela seja uma JInternalFrame mais esta dando um erro
vi alguns exemplos mais nao me ajudou muito. Alguem pode me ajudar?

package com.programa.sub;

import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.GridLayout;
import java.awt.event.KeyEvent;
import javax.swing.JComponent;
import javax.swing.JFrame;
import javax.swing.JInternalFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTabbedPane;

public class Configuracoes extends JInternalFrame {

	JTabbedPane tpConfig;

	public Configuracoes() {

		tpConfig = new JTabbedPane();

		JComponent painel1 = makeTextPanel("Panel 1");
		tpConfig.addTab("tab 1", null, painel1);
		tpConfig.setMnemonicAt(0, KeyEvent.VK_1);

		JComponent painel2 = makeTextPanel(null);
		painel2.setPreferredSize(new Dimension(410, 50));
		tpConfig.addTab("Look and Feel", null, painel2);
		tpConfig.setMnemonicAt(1, KeyEvent.VK_1);

		add(tpConfig);

		tpConfig.setTabLayoutPolicy(JTabbedPane.SCROLL_TAB_LAYOUT);
	}

	protected JComponent makeTextPanel(String text) {
		JPanel panel = new JPanel(false);
		JLabel filler = new JLabel(text);
		filler.setHorizontalAlignment(JLabel.CENTER);
		panel.setLayout(new GridLayout(30, 1));
		panel.add(filler);
		return panel;
	}

	private static void ShowGUI() {
		JFrame frame = new JFrame("Configurações");
		frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);

		frame.add(new Configuracoes(), BorderLayout.CENTER);
		frame.pack();

		frame.setVisible(true);
	}

	public static void main(String args[]) {
		ShowGUI();
	}
}

Que erro dá?
Cola o stacktrace aí pra gente vê…

na verdade não nem um erro… eu escrevi errado
deve estar faltando alguma coisa

aperece isso

JÁ tentou setar o tamanho do seu InternalFrame???

ja tentei colocar

setSize(330, 160);

mais nao adiantou continua a mesma coisa

Teu código tem alguns problemas.
Vc nao pd adicionar um JInternalFrame diretamente ao JFrame.
Vc deve primeiro adicionar a ele um JDesktopPane, e é neste é que vai o jinternalframe.

JDesktopPane pane = new JDesktopPane();
Configuracoes config = new Configuracoes();
pane.add(config, BorderLayout.CENTER);
frame.getContentPane().add(pane, BorderLayout.CENTER);

No mais é ajustar o tamanho tanto de frame quanto de config e torná-los
visíveis com setVisible.