Refresh em panel!

Olá galera beleza? Olha eu aqui denovo!

Tô com uma dúvida que creio que seja bem simples, em meu programa, eu tenho uma tela “genérica”, gostaria de saber como faço um refresh nela? Se tem como destruir o panel e construí-lo novamente com os novos valores, ou somente fazer um update mesmo…

Alguém tem noção de como faço isso?

Valeu! 8)

Cara, sua pergunta não faz o menor sentido.

O que quer dizer com “refresh”? Atualizar os campos do formulário?

Isso mesmo, tenho uma tela de cadastro genérica, com vários JTextFields, e preciso atualizá-los, mesmo forçando deixá-los me branco: jtfCodCli.setText(""); e depois jogando o valor que eu quero, ele não atualiza, ele mantem o antigo…entendeu?

Valeu! 8)

Agooora deu pra entender.

Bom, tem milhões de jeitos de fazer isso :smiley:
Eu faço assim:

form.setModel( pessoa );

E com reflection os campos são automagicamente preenchidos com os valores certos hehe

Mas percebo que está um tanto iniciando com Java ainda, então recomendo fazer na mão mesmo.

field.setValue( newValue ); // pronto

É um panel que adiciono os fields nele, e ele não me dá está opção de setModel.

[quote=LIPE]
Mas percebo que está um tanto iniciando com Java ainda, então recomendo fazer na mão mesmo.

field.setValue( newValue ); // pronto [/quote]

Já tentei fazer isso, não deu certo, pois por exemplo:
Tenho a parte onde faço a inclusão de um cadastro de cliente; até aí blz, eu trago o panel com os fields em branco para o usuário digitar os dados e depois faço o insert.
Então tenho um grid que me mostra um grid com todos os clientes, onde posso selecionar uma linha (um cliente) para alterar seu cadastro, daí na hora de exibir na tela os dados do cadastro do cliente, eu uitlizo a mesma tela que usei para incluir, porém os fields vem com o valor da última inclusão, mesmo eu forçando, colocando field.setText(newValeu); ele não pega…por isso quero saber como atualizar os campos do formulário.

Valeu! 8)

pode ser que vc esteja chamando o setVisible(true) na classe generica, ai vc chama outra vez(ou nem chama) na classe herdada, deste jeito ele nao atualiza, aqui tava acontecendo isto!! pq no construtor da classe filha lembre-se que a primeira instrucao é o super!!! eu simplesmente tirei o setVisible da classe generica!! aqui o problema era esse e funcionou!!!

O método que mostrei fui eu quem construiu.

De qualquer maneira, sem contexto fica impossível saber por que field.setText( string ) não está funcionando cara. Melhor debugar a aplicação.

E ae?

Nao existe nenhuma forma de destruir o panel para depois eu construí-lo?

Em minha classe genérica, eu deixei sem nenhum setVisible, só manipulo os visible quando preciso utilizá-lo…

Mas se houvesse um jeito de destruir o panel e construí-lo novamente, creio que os campos de meu formulário atualizariam…

O código é muito grande para colocar aqui…

Valeu! 8)

Olha o código ae:

[code]
if (dmtIteSel == dmtNivel1)//*CLIENTES
{
//panCadCli = Tela Genérica

jlbCodCli = new JLabel(“Código:”);
jlbNomCli = new JLabel(“Razão Social:”);
jlbFanCli = new JLabel(“Nome Fantasia:”);
jlbFisJur = new JLabel(“Física/Jurídica:”);
jlbTipCli = new JLabel(“Tipo:”);
jlbEndCli = new JLabel(“Endereço:”);
jlbMunCli = new JLabel(“Município:”);
jlbEstCli = new JLabel(“Estado:”);
jlbBaiCli = new JLabel(“Bairro:”);
jlbCEPCli = new JLabel(“CEP:”);
jlbTelCli = new JLabel(“Telefone Com.:”);
jlbCPFCli = new JLabel(“CPF / CNPJ:”);
jlbInsCli = new JLabel(“Inscrição Est.:”);
jlbRGCli = new JLabel(“RG:”);
jlbConCli = new JLabel(“Contato:”);
jlbFunCli = new JLabel(“Função:”);
jlbEmaCli = new JLabel(“E-mail:”);

jtfCodCli = new JTextField(); jtfNomCli = new JTextField();
jtfFanCli = new JTextField(); jtfFisJur = new JTextField();
jtfTipCli = new JTextField(); jtfEndCli = new JTextField();
jtfMunCli = new JTextField(); jtfEstCli = new JTextField();
jtfBaiCli = new JTextField(); jtfCEPCli = new JTextField();
jtfTelCli = new JTextField(); jtfCPFCli = new JTextField();
jtfInsCli = new JTextField(); jtfRGCli = new JTextField();
jtfConCli = new JTextField(); jtfFunCli = new JTextField();
jtfEmaCli = new JTextField();

int L1=4,Y=4,L2=250,T1=4,T2=250;
int H=90,W=15,Z=20;
int Altura; Font Fonte; FontMetrics MedidasFonte;
Fonte = new Font(“Times New Roman”,Font.BOLD,12);

jlbCodCli.setFont(Fonte); jlbCodCli.setBounds(L1,Y,H,W);
jlbNomCli.setFont(Fonte); jlbNomCli.setBounds(L2,Y,H,W);
Y=Y+40;
jlbFanCli.setFont(Fonte); jlbFanCli.setBounds(L1,Y,H,W);
jlbFisJur.setFont(Fonte); jlbFisJur.setBounds(L2,Y,H,W);
Y=Y+40;
jlbTipCli.setFont(Fonte); jlbTipCli.setBounds(L1,Y,H,W);
jlbEndCli.setFont(Fonte); jlbEndCli.setBounds(L2,Y,H,W);
Y=Y+40;
jlbMunCli.setFont(Fonte); jlbMunCli.setBounds(L1,Y,H,W);
jlbEstCli.setFont(Fonte); jlbEstCli.setBounds(L2,Y,H,W);
Y=Y+40;
jlbBaiCli.setFont(Fonte); jlbBaiCli.setBounds(L1,Y,H,W);
jlbCEPCli.setFont(Fonte); jlbCEPCli.setBounds(L2,Y,H,W);
Y=Y+40;
jlbTelCli.setFont(Fonte); jlbTelCli.setBounds(L1,Y,H,W);
jlbCPFCli.setFont(Fonte); jlbCPFCli.setBounds(L2,Y,H,W);
Y=Y+40;
jlbInsCli.setFont(Fonte); jlbInsCli.setBounds(L1,Y,H,W);
jlbRGCli.setFont(Fonte); jlbRGCli.setBounds(L2,Y,H,W);
Y=Y+40;
jlbConCli.setFont(Fonte); jlbConCli.setBounds(L1,Y,H,W);
jlbFunCli.setFont(Fonte); jlbFunCli.setBounds(L2,Y,H,W);
Y=Y+40;
jlbEmaCli.setFont(Fonte); jlbEmaCli.setBounds(L1,Y,H,W);

Y=16;
jtfCodCli.setBounds(T1,Y,50,Z); jtfNomCli.setBounds(T2,Y,250,Z);
Y=Y+40;
jtfFanCli.setBounds(T1,Y,200,Z); jtfFisJur.setBounds(T2,Y,50,Z);
Y=Y+40;
jtfTipCli.setBounds(T1,Y,50,Z); jtfEndCli.setBounds(T2,Y,250,Z);
Y=Y+40;
jtfMunCli.setBounds(T1,Y,200,Z); jtfEstCli.setBounds(T2,Y,50,Z);
Y=Y+40;
jtfBaiCli.setBounds(T1,Y,150,Z); jtfCEPCli.setBounds(T2,Y,100,Z);
Y=Y+40;
jtfTelCli.setBounds(T1,Y,100,Z); jtfCPFCli.setBounds(T2,Y,100,Z);
Y=Y+40;
jtfInsCli.setBounds(T1,Y,100,Z); jtfRGCli.setBounds(T2,Y,100,Z);
Y=Y+40;
jtfConCli.setBounds(T1,Y,100,Z); jtfFunCli.setBounds(T2,Y,150,Z);
Y=Y+40;
jtfEmaCli.setBounds(T1,Y,150,Z);

panCadCli.add(jlbCodCli); panCadCli.add(jlbNomCli);
panCadCli.add(jlbFanCli); panCadCli.add(jlbFisJur);
panCadCli.add(jlbTipCli); panCadCli.add(jlbEndCli);
panCadCli.add(jlbMunCli); panCadCli.add(jlbEstCli);
panCadCli.add(jlbBaiCli); panCadCli.add(jlbCEPCli);
panCadCli.add(jlbTelCli); panCadCli.add(jlbCPFCli);
panCadCli.add(jlbInsCli); panCadCli.add(jlbRGCli);
panCadCli.add(jlbConCli); panCadCli.add(jlbFunCli);
panCadCli.add(jlbEmaCli);

panCadCli.add(jtfCodCli); panCadCli.add(jtfNomCli);
panCadCli.add(jtfFanCli); panCadCli.add(jtfFisJur);
panCadCli.add(jtfTipCli); panCadCli.add(jtfEndCli);
panCadCli.add(jtfMunCli); panCadCli.add(jtfEstCli);
panCadCli.add(jtfBaiCli); panCadCli.add(jtfCEPCli);
panCadCli.add(jtfTelCli); panCadCli.add(jtfCPFCli);
panCadCli.add(jtfInsCli); panCadCli.add(jtfRGCli);
panCadCli.add(jtfConCli); panCadCli.add(jtfFunCli);
panCadCli.add(jtfEmaCli);

jbtConCad = new JButton(“Confirmar”);
jbtConCad.setMnemonic(‘C’);
ImageIcon OK = new ImageIcon("\Arq_Projeto\ok.gif");
jbtConCad.setIcon(OK);
jbtConCad.setBounds(250,350,120,25);
panCadCli.add(jbtConCad);

jbtCanCad = new JButton(“Cancelar”);
jbtCanCad.setMnemonic(‘l’);
ImageIcon icon = new ImageIcon("\Arq_Projeto\cancelar.gif");
jbtCanCad.setIcon(icon);
jbtCanCad.setBounds(370,350,120,25);
panCadCli.add(jbtCanCad);

stmPriCli.removerTodos();
//panCadCli.setVisible(false);
panPriCli.setVisible(true);

try
{
Conexao con = new Conexao();
PreparedStatement psSQL = con.conConect.prepareStatement("SELECT * " +
“FROM A1”);
ResultSet Resultados = psSQL.executeQuery();
while(Resultados.next())
{
strCodCli = Resultados.getString(1);
strNomCli = Resultados.getString(2);
strFanCli = Resultados.getString(3);

jtbPriCli.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
SimplesTableModel stmPriCli =
(SimplesTableModel)jtbPriCli.getModel();
stmPriCli.addRow(new String[]{strCodCli,strNomCli,strFanCli});
jtbPriCli.setAutoResizeMode(JTable.AUTO_RESIZE_ALL_COLUMNS);
}
Resultados.close();
psSQL.close();
}
catch(Exception ex)
{
System.err.println(“Erro no acesso ao banco de dados !”);
}
}
//*********************************************************************
if (dmtIteSel == dmtNivel11)//INCLUIR Cadastro de Cliente
{
flag = 1;
jtfCodCli.setText(""); jtfNomCli.setText("");
jtfFanCli.setText(""); jtfFisJur.setText("");
jtfTipCli.setText(""); jtfEndCli.setText("");
jtfMunCli.setText(""); jtfEstCli.setText("");
jtfBaiCli.setText(""); jtfCEPCli.setText("");
jtfTelCli.setText(""); jtfCPFCli.setText("");
jtfInsCli.setText(""); jtfRGCli.setText("");
jtfConCli.setText(""); jtfFunCli.setText("");
jtfEmaCli.setText("");

jtfCodCli.setEditable(true); jtfNomCli.setEditable(true);
jtfFanCli.setEditable(true); jtfFisJur.setEditable(true);
jtfTipCli.setEditable(true); jtfEndCli.setEditable(true);
jtfMunCli.setEditable(true); jtfEstCli.setEditable(true);
jtfBaiCli.setEditable(true); jtfCEPCli.setEditable(true);
jtfTelCli.setEditable(true); jtfCPFCli.setEditable(true);
jtfInsCli.setEditable(true); jtfRGCli.setEditable(true);
jtfConCli.setEditable(true); jtfFunCli.setEditable(true);
jtfEmaCli.setEditable(true);
panCadCli.setVisible(true);
if (flag == 1)
{
jbtConCad.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
try
{
strCodCliInc = jtfCodCli.getText();
strNomCliInc = jtfNomCli.getText();
strFanCliInc = jtfFanCli.getText();
strFisJurInc = jtfFisJur.getText();
strTipCliInc = jtfTipCli.getText();
strEndCliInc = jtfEndCli.getText();
strMunCliInc = jtfMunCli.getText();
strEstCliInc = jtfEstCli.getText();
strBaiCliInc = jtfBaiCli.getText();
strCEPCliInc = jtfCEPCli.getText();
strTelCliInc = jtfTelCli.getText();
strCPFCliInc = jtfCPFCli.getText();
strInsCliInc = jtfInsCli.getText();
strRGCliInc = jtfRGCli.getText();
strConCliInc = jtfConCli.getText();
strFunCliInc = jtfFunCli.getText();
strEmaCliInc = jtfEmaCli.getText();

Conexao con = new Conexao();
PreparedStatement psSQL = con.conConect.prepareStatement("" +
“SELECT A1_COD FROM A1 WHERE A1_COD =?”);
psSQL.setString(1,strCodCliInc);
ResultSet Resultados = psSQL.executeQuery();
while (Resultados.next())
{
strCodPes = Resultados.getString(1);
};
Resultados.close();
psSQL.close();
if(strCodPes != null)
{
JOptionPane.showMessageDialog(null,“Código já " +
“cadastrado!”);
jtfCodCli.setText(”");
jtfCodCli.grabFocus();
jtfCodCli.setText(""); jtfNomCli.setText("");
jtfFanCli.setText(""); jtfFisJur.setText("");
jtfTipCli.setText(""); jtfEndCli.setText("");
jtfMunCli.setText(""); jtfEstCli.setText("");
jtfBaiCli.setText(""); jtfCEPCli.setText("");
jtfTelCli.setText(""); jtfCPFCli.setText("");
jtfInsCli.setText(""); jtfRGCli.setText("");
jtfConCli.setText(""); jtfFunCli.setText("");
jtfEmaCli.setText("");
panCadCli.setVisible(true);
psSQL.close();
}
else
{
psSQL = con.conConect.prepareStatement("INSERT INTO A1 " +
“VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)”);
psSQL.setString(1,strCodCliInc);
psSQL.setString(2,strNomCliInc);
psSQL.setString(3,strFanCliInc);
psSQL.setString(4,strFisJurInc);
psSQL.setString(5,strTipCliInc);
psSQL.setString(6,strEndCliInc);
psSQL.setString(7,strMunCliInc);
psSQL.setString(8,strEstCliInc);
psSQL.setString(9,strBaiCliInc);
psSQL.setString(10,strCEPCliInc);
psSQL.setString(11,strTelCliInc);
psSQL.setString(12,strCPFCliInc);
psSQL.setString(13,strInsCliInc);
psSQL.setString(14,strRGCliInc);
psSQL.setString(15,strConCliInc);
psSQL.setString(16,strFunCliInc);
psSQL.setString(17,strEmaCliInc);
psSQL.executeUpdate();
psSQL.close();

JOptionPane.showMessageDialog(null,"CADASTRO EFETUADO " +
“COM SUCESSO!”);
trePriArv.setSelectionRow(1);
panCadCli.setVisible(false);

}
psSQL.close();
}
catch(Exception ex)
{
System.err.println(“Erro no acesso ao banco de dados !”);
ex.printStackTrace();
}
}
});

jbtCanCad.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
trePriArv.setSelectionRow(1);
panCadCli.setVisible(false);
}
});
}
}

if (dmtIteSel == dmtNivel12)//ALTERAR Cadastro de Cliente
{
flag = 2;
int linSel = jtbPriCli.getSelectedRow();
if (linSel < 0)
{
JOptionPane.showMessageDialog(null,“Por favor selecione um cliente” +
" para alterá-lo!");
trePriArv.setSelectionRow(1);
panCadCli.setVisible(false);
}
else
{
String strCodPesTeste = jtbPriCli.getValueAt( linSel , 0 ).toString();
try
{
Conexao con = new Conexao();
PreparedStatement psSQL = con.conConect.prepareStatement(“SELECT” +
" * FROM A1 WHERE A1_COD=?");
psSQL.setString(1,strCodPesTeste);
ResultSet Resultados = psSQL.executeQuery();
while(Resultados.next())
{
strCodCli = Resultados.getString(1);
strNomCli = Resultados.getString(2);
strFanCli = Resultados.getString(3);
strFisJur = Resultados.getString(4);
strTipCli = Resultados.getString(5);
strEndCli = Resultados.getString(6);
strMunCli = Resultados.getString(7);
strEstCli = Resultados.getString(8);
strBaiCli = Resultados.getString(9);
strCEPCli = Resultados.getString(10);
strTelCli = Resultados.getString(11);
strCPFCli = Resultados.getString(12);
strInsCli = Resultados.getString(13);
strRGCli = Resultados.getString(14);
strConCli = Resultados.getString(15);
strFunCli = Resultados.getString(16);
strEmaCli = Resultados.getString(17);

jtfCodCli.setText(strCodCli); jtfNomCli.setText(strNomCli);
jtfFanCli.setText(strFanCli); jtfFisJur.setText(strFisJur);
jtfTipCli.setText(strTipCli); jtfEndCli.setText(strEndCli);
jtfMunCli.setText(strMunCli); jtfEstCli.setText(strEstCli);
jtfBaiCli.setText(strBaiCli); jtfCEPCli.setText(strCEPCli);
jtfTelCli.setText(strTelCli); jtfCPFCli.setText(strCPFCli);
jtfInsCli.setText(strInsCli); jtfRGCli.setText(strRGCli);
jtfConCli.setText(strConCli); jtfFunCli.setText(strFunCli);
jtfEmaCli.setText(strEmaCli);
};
Resultados.close();
psSQL.close();
}
catch(Exception ex)
{
System.err.println(“Erro no acesso ao banco de dados !”);
ex.printStackTrace();
}

jtfCodCli.setEditable(false); jtfNomCli.setEditable(true);
jtfFanCli.setEditable(true); jtfFisJur.setEditable(true);
jtfTipCli.setEditable(true); jtfEndCli.setEditable(true);
jtfMunCli.setEditable(true); jtfEstCli.setEditable(true);
jtfBaiCli.setEditable(true); jtfCEPCli.setEditable(true);
jtfTelCli.setEditable(true); jtfCPFCli.setEditable(true);
jtfInsCli.setEditable(true); jtfRGCli.setEditable(true);
jtfConCli.setEditable(true); jtfFunCli.setEditable(true);
jtfEmaCli.setEditable(true);
panCadCli.setVisible(true);

if (flag == 2)
{
jbtConCad.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
try
{
strCodCli = jtfCodCli.getText();
strNomCli = jtfNomCli.getText();
strFanCli = jtfFanCli.getText();
strFisJur = jtfFisJur.getText();
strTipCli = jtfTipCli.getText();
strEndCli = jtfEndCli.getText();
strMunCli = jtfMunCli.getText();
strEstCli = jtfEstCli.getText();
strBaiCli = jtfBaiCli.getText();
strCEPCli = jtfCEPCli.getText();
strTelCli = jtfTelCli.getText();
strCPFCli = jtfCPFCli.getText();
strInsCli = jtfInsCli.getText();
strRGCli = jtfRGCli.getText();
strConCli = jtfConCli.getText();
strFunCli = jtfFunCli.getText();
strEmaCli = jtfEmaCli.getText();

Conexao con = new Conexao();
PreparedStatement psSQL = con.conConect.prepareStatement(
“UPDATE A1 SET A1_NOME =?,A1_NREDUZ =?,” +
“A1_PESSOA =?,A1_TIPO =?,A1_END =?,A1_MUN =?,” +
“A1_EST =?,A1_BAIRRO =?,A1_CEP=?,A1_TEL =?,” +
“A1_CGC =?,A1_INSCR =?,A1_PFISICA =?,” +
"A1_CONTATO =?,A1_CARGO1 =?,A1_EMAIL =? " +
“WHERE A1_COD =?”);
psSQL.setString(1,strNomCli);
psSQL.setString(2,strFanCli);
psSQL.setString(3,strFisJur);
psSQL.setString(4,strTipCli);
psSQL.setString(5,strEndCli);
psSQL.setString(6,strMunCli);
psSQL.setString(7,strEstCli);
psSQL.setString(8,strBaiCli);
psSQL.setString(9,strCEPCli);
psSQL.setString(10,strTelCli);
psSQL.setString(11,strCPFCli);
psSQL.setString(12,strInsCli);
psSQL.setString(13,strRGCli);
psSQL.setString(14,strConCli);
psSQL.setString(15,strFunCli);
psSQL.setString(16,strEmaCli);
psSQL.setString(17,strCodCli);
psSQL.executeUpdate();
psSQL.close();

JOptionPane.showMessageDialog(null,"ALTERAÇÃO DE " +
“CADASTRO EFETUADA COM SUCESSO!”);
trePriArv.setSelectionRow(1);
panCadCli.setVisible(false);
}
catch(Exception ex)
{
System.err.println(“Erro no acesso ao banco de dados !”);
ex.printStackTrace();
}
}
});

jbtCanCad.addActionListener(new ActionListener()
{
public void actionPerformed(ActionEvent e)
{
trePriArv.setSelectionRow(1);
panCadCli.setVisible(false);
}
});
}
}
}[/code]

Quando incluo e logo em seguida faço o alterar, os campos nao atualizam…

Valeu! 8)

Ae galera, consegui fazer com que os JTexfield limpassem, porém quando faço incluir uma vez, ele funciona, na segunda vez, ele me traz os text zerados, mas mesmo eu digitando ele considera como nulo, alguém sabe o que pode ser?

Valeu! 8)

E ai carinha blz tenta fazer assim.
Crie uma função limpaCampos()

e coloquea dentro do final de cada campo inteiro.
por exemplo se fosse limpar um campo onde atualiza sozinho usario a função atualizaCampos().
Cada funcão que esta tentando utilizar tem que ser publicada.
Exemplo:

Utilize assim quando quiser limpar os campos.

public void limpaCampos(){

e quando quiser atualizar use assim.

public void atualizaCampos(){

Onde vai compos utilize atualizaCampos(), ou AtualizaCampos().

Espero ter ajudado velinho

[quote=Ckx4_java]E ai carinha blz tenta fazer assim.
Crie uma função limpaCampos()

e coloquea dentro do final de cada campo inteiro.
por exemplo se fosse limpar um campo onde atualiza sozinho usario a função atualizaCampos().
Cada funcão que esta tentando utilizar tem que ser publicada.
Exemplo:

Utilize assim quando quiser limpar os campos.

public void limpaCampos(){

e quando quiser atualizar use assim.

public void atualizaCampos(){

Onde vai compos utilize atualizaCampos(), ou AtualizaCampos().

Espero ter ajudado velinho

[/quote]

Cara eu já tentei várias coisas, e o mais esquisito, é tipo quando dou um setTexte("") no JTextField que quero, ele até limpa, mas quando digito o novo valor, ele não enxerga, ele considera como nulo…to ficando loko com isso…e olha que eu coloquei para limpar antes de exibir os campos e a´pos confirmar o cadastro, fiz vários testes, mas o negócio não flui…tá danado viu…
Mesmo assim valeu!! :roll:

Velho faz assim me manda o código que eu vejo ele aqui no meu eclipse ai eu arrumo ele para você blz ou então me manda no e-mail tlima@gpnet.com.br blz cara ai eu vejo onde você errou e eu te ajudo blz :stuck_out_tongue: até mais cara.

Já tá lá…enquanto isso to fazendo mais testes pra variar…

Valeu cara… :wink: