Liquid layout

bom oq q acontece quando um desenvolvedor web tem que desenvolver uma app desktop?

ele precisa de um layout liquid!!! !@#$%

bom eu tenho 4 botoes e quando o usuário clica em um deles o tamanho dele vai aumentar. porem com os layouts default do swing nenhum botao se movimenta e eu preciso que eles se posicionem de forma a dar espaço para o batao maior!

existe isso?

Obrigado!

Acho que com esse tu consegue
http://www.miglayout.com/

tem certeza?

[quote=fabiofalci]Acho que com esse tu consegue
http://www.miglayout.com/[/quote]

bom akabei de testar e naum funciona!!

acontece a mesma coisa!

Voce ta usando os Layout managers corretamente?

Por exemplo se voce tme um JPanel com um GridLayout com o tamanho: 100 e dois botoes voce vai ver dois botoes com 50 se voce insere mais um e revalida seu panel voce vai ver os 3 com uns 33.

É essa sua intenção?

cada um tem seu tamanho especifico!

quando clico em um botao ele aumenta a largura e a altura!

fiz meus primeiros testes com o flowLayout…

mas pelo que entendi o x dos objetos naum é recalculado quando a largura de um dos objetos muda! se eu tiver que calcular todos na mão toda vez e clico no botao naum vou terminar isso nunca!

imaginei que o reprint iria resolver mas tb nuam deu em nada!

Como assim calcular tudo denovo? Como voce esta fazendo? Essa tela?

Voce esta simplesmente adicionando em algum container e marcando uma posição absoluta para os componentes?

simples

tenho um jpanel com flowlayout

dentro dele tenho 4 jbutton

jpanel está fora fora na tela!
os jbuttons estão com width e height fixados! 95x115
ficam um do lado do outro por causa do flowlayout

quando eu clico por exemplo no segundo botao ele aumenta de tamanho para 320x250 e fica sobre os outros botoes! o layout naum identifica que ele mudou de tamanho e que tem que reposicionar os componentes novamente!

o flowlayout calcula o valor de x de cada componente dentro do jpanel quando a app abre e posiciona todos direitinho! mas quando um componente muda de tamanho em runtime ja era…

creio que ele nem faz isso naum é um bug! mas estou procurando algum layout que faz isso!

olha ai


Mas voce aumenta via código o botão?

E depois que fizer isso use o invalidate/validate no Container que tem esses Components.

cara naum foi se eu fizer isso ele mantem o tamanho! :smiley:

private void jButton2MouseClicked(java.awt.event.MouseEvent evt) { jButton2.setSize(new Dimension(140, 250)); mainPanel.invalidate(); mainPanel.validate(); }

private void jButton2MouseClicked(java.awt.event.MouseEvent evt) { mainPanel.invalidate(); jButton2.setSize(new Dimension(140, 250)); mainPanel.validate(); }

nenhum funfa!!

Já tentou com GridBag?

definindo um botao pra cada célula e o tamanho nas células?

acho que rola…

Ainda nao testei…mas acho que se mesmo assim nao rolar vc vai ter que calcular o tamanho pros 3 toda vez…

funcionou assim:

private void jButton2MouseClicked(java.awt.event.MouseEvent evt) { jButton2.setSize(new Dimension(140, 250)); jButton2.setPreferredSize(new Dimension(140, 250)); mainPanel.validate(); }

valeu!

agora alguem sabe me dizer se existe alguma forma de animar o movimento?? hehehehe!

Uma Thread que aumenta de pouco em pouco o tamanho.