Não consigo dar "update" em um JPanel

7 respostas
fiabani

pessoal, por que isto não funciona nem por decreto… ???

public void ActionPerformed(ActionEvent e){

panel.removeAll();

panel.add(new JButton(ola));

//

panel.revalidate();

panel.repaint();

panel.updateUI();

}

não consigo atualizar de jeito nenhum, o JPanel fica vazio (quando fica), já tentei inverter as ordens, tirar updateUI(), somente o repaint(), e nada.

o que puedes ser ???

7 Respostas

A

Para atualizar vc tem que gerar um evento, para eu entender vc clica em algum botão para atualizar, caso seja sim você tem que verificar o evento. exemplo

public void ActionPerformed(ActionEvent e){

if(e.getSource()== objetoque gerou o evento){

panel.removeAll();

panel.add(new JButton(ola));
panel.revalidate(); 
   panel.repaint(); 
   panel.updateUI();

}
}

Eu acho que é isso.
Espero ter ajudado.

fiabani

tio, o evento está sendo disparado e as linha interpretadas (repaint, revalçidate e updateUI) o problema é q o JPanel não “obedece” à estas linhas, ou seja, não sei se são exatamente estes os procedimentos p/ atualizar o JPanel

fabiofalci

Cara, o ‘legal’ é não fazer esse tipo de atualização onde se remove/adiciona um
componente em runtime. Mas sim habilitar/desabilitar ele.

fiabani

Cara, o ‘legal’ é não fazer esse tipo de atualização onde se remove/adiciona um
componente em runtime. Mas sim habilitar/desabilitar ele.

mas os componentes antigos não continuam dentro dele?

teria um exemplo cara?

valew

fabiofalci

Se você não removeu, sim, continua.

Mas o que tu precisa? Colocar um botão novo? Substituir um?

fiabani

digamos q eu tenha um formulário dentro deste JPanel, quero tirá-lo e colocar um botão sair, por exemplo.

na verdade é p/ um sistema comercial, vc teria alguma idéia de fazer isso de uma forma mais eficiente talvez, se esta não for viável?

fabiofalci

Tu quer substituir um formulário inteiro por um botão de sair? Como tu está trocando de telas?
Pode usar um CardLayout

Criado 3 de março de 2008
Ultima resposta 3 de mar. de 2008
Respostas 7
Participantes 3