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();
}
}
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.
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