Redimensionar JPanel

Galera, eu tenho um JPanel, com JScrollPane.
No JPanel eu tenho diversos Botões espalhados com a função Drag&Drop implementada.
to usando layout null (nao quero usar nenhum layout por motivos específicos). A questao é: quando eu arrasto um botão pra fora da area do jPane eu queria que ele redimensionasse de forma sempre armazenar todos os botões.

public class KGraphView extends JPanel{
    private TreeView view; //JPanel modificado que contem botoes com drag and drop
    private JScrollPane scroll;
    public KGraphView(){
        super();
        this.setLayout(null);
        view = new TreeView();
        scroll = new JScrollPane();
    }
}

Se você quer que coisas se redimensionem, comece a usar gerenciadores de layout.

Pois entao, neste caso não da pra usar (pelo menos nao em tudo).

Funciona assim, tem uma aplicação que preenche um panel com botoes em posições especificas para montar um grafo. Estes botões sao drag and drop.
Entao eu tenho um frame de 500x500 com botões em posições x,y. Caso eu passe de do limite de do frame eu quero que ele aumente para que o scroll funcione adequadamente.

Entendi. O scrollpane se baseia no preferredSize do JPanel. Então, se o usuário arrastar para fora da tela, você deve recalcular o novo tamanho e usar o comando setPreferredSize.

Este calculo é manual? ou existe algum método que faça isso?

Se usar layout nulo, é 100% manual. Mas é meio obvio.
É o x do botão + seu tamanho + x do local onde o usuário soltou o mouse.

Outra duvida, se eu tenho um componente em cima de outro, como faço pra trazer pro topo o que esta em baixo?

Use o método setComponentZOrder do painel onde os botões estão.

Obrigado viny!
Suas dicas e respostas estao sendo bem uteis.
Acho que só faltou mais uma. Imagine um Componet quadrado. (mais uma vez sem layout)
Quando eu defino sua posição “setLocation(x,y)” o ponto de construção do component quadrado é a quina esquerda superior dele. è possivel mudar? em QT eu usava algo como setAncor ou algo assim

Se não me engano isso não é possível mudar não.