Problema ao redimensionar

Bom pessoal, estou com a seguinte dúvida:

Tenho um JPanel dentro de um JScrollPane. Dentro do JPanel existe um JSplitPane. O usuário pode configurar o tamanho desse JPanel. Até aqui tudo bem. O problema é que ele só muda de tamanho se o usuário selecionar o JSplitPane. Se eu clicar em outro componente da tela ele não redimensiona mais.

Acho isso um tanto estranho, tendo em vista que no código está dizendo para alterar o tamanho do JSplitPane e do JPanel e não do componente que está selecionado. Tentei usar o jSplitPane.setFocusable(true) antes de redimensionar, mas não funcioonou. Se alguém tiver alguma idéia do que está dando errado agradeço pela ajuda. Abaixo o código:

public void atualizarTamanhoImpressao(int horizontal, int vertical) { margemHorinz = horizontal; margemVert = vertical; jPanel4.setMaximumSize(new Dimension(largura - margemHorinz,altura - margemVert)); jPanel4.setMinimumSize(new Dimension(largura - margemHorinz,altura - margemVert)); jPanel4.setPreferredSize(new Dimension(largura - margemHorinz,altura - margemVert)); jSplitPane1.setMaximumSize(new Dimension(largura - margemHorinz,altura - margemVert)); jSplitPane1.setMinimumSize(new Dimension(largura - margemHorinz,altura - margemVert)); jSplitPane1.setPreferredSize(new Dimension(largura - margemHorinz,altura - margemVert)); jPanel4.validate(); }

Testando um pouco mais a aplicação, percebi que na verdade ele redimensiona. O que acontece é que ele não atualiza a tela de imediato. Só mostra a modificação quando eu arrasto o divisor do JSplitPane. Ele só atualiza a tela se eu tiver arrastado o divisor do JSplitPane antes. Já tentei atualizar com validate(), repaint(), revalidate(), mas nenhum deles funcionou. Se alguém souber um jeito de fazer ele atualizar automaticamente independente do que for selecionado na tela, agradeço pelo ajuda.

Boa, estou com um problema semelhante!