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/
[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!
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!
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.