Executar ação quando maximizar janela [Resolvido]

Bom, estou iniciando na programação e estou fazendo um programa pra aplicar meus novos conhecimentos
porém estou com um probleminha, meu programa não é em tela cheia mais eu quero que ele tenha essa função, só que quando eu maximizo ele com GUI.setExtendedState(JFrame.MAXIMIZED_BOTH); ele fica em tela cheia porem o JTabbedPane dentro dele fica do mesmo tamanho, ai fica um espaço enorme em branco com a GUI propriamente dita do mesmo tamanho no canto da tela. A estrutura da GUi é assim JFrame

JTabbedpane > paineis (4 no total).

A minha ideia é: quando o usuário clicar no ícone de maximizar a janela eu dou um this.dispose(); na janela atual e chamo uma nova janela maximizada que eu vou organizar da acordo com a minha vontade, e quando o usuário quiser deixar a janela pequena eu fecho o frame grande e mostro o pequeno, porém eu não consegui encontra um evento para quando o usuário clicar no botão de maximizar, como por exemplo quando o usuário clica no botão de fechar tem o evento formWindowClosing.

Resumindo alguém conhece um evento para essa tarefa?

Observação: minha aplicação foi construída no editor visual do Netbeans

Pelo jeito você não está usando um layout na sua janela (setLayout(null)), com isso, os componentes não irão acompanhar a janela. Tente usar um BorderLayout ou GridBagLayout para adicionar seus componentes, que eles irão se auto ajustar quando a janela estiver normal, maximizada ou em tela cheia.

Não era bem oque eu queria mais ajudou do mesmo jeito, obrigado!

Usei o BorderLayout e funcionou bem, porém gostaria de mudar a posiçao dos componentes em tela cheia, isso é possivel?

EX.: Na minha aplicaçao tem campos de texto e labels na parte de cima e uma tabela na parte de baixo,
quando o programa ficar em tela cheia, gostaria que os labels e campos ficassem no canto esquerdo da tela um em cima do outro e a tabela ficasse ocupando todo o resto de cima a baixo.