Setar dados no JLabel e JTextField

2 respostas
J

Olá galera,

Estou com um método que recupera alguns dados do BD e joga em duas variáveis dessa forma:

String codigo = conexao.rs.getString("cli_codigo"); String nomeCliente = conexao.rs.getString("cli_nome");

Passa os parâmetros:

Método que recebe os parâmetros:

public void procuraCliente(String codigo, String nomeCliente){ lbl_codigo.setText(codigo); txt_nome.setText(nomeCliente); }

Eis a questão, o método que recebe não seta no JLabel o código e nem o nome no JTextField,

A forma como estou passando a variável codigo e nomeCliente nos métodos setText’s está
correto? Deveria funcionar desse jeito?..pois não funciona

VLWS

2 Respostas

ViniGodoy

Se já tem uma janela sendo exibida, não é ela que está sendo usada. Vc passa para uma nova janela:
new frm_Cliente().

Se vc quer usar uma janela que já foi exibida, guarde-a numa variável:

E depois só use essa variável, sem dar new dentro do método novamente:

Outra coisa. Acostume-se a dar nomes de classes com letra maiúscula, como manda a convenção de código do Java.

J
Bom, infelizmente ainda não consegui resolver, coloquei um trecho de código onde tenho que fazer a mesma coisa. Primeiro eu abro um frame onde tem um campo JTextField e um JLabel com um botão de pesquisa do lado, clico no botão, e então abre outro frame que contém esse método de evento abaixo:
private void selecionaDados(java.awt.event.MouseEvent evt) {        
        int linha = tbl_grid.getSelectedRow();//Pega a linha clicada

        try {
            conexao.AbrirConexao();
            String sql = "SELECT * FROM loc_genero WHERE gen_in_codigo = '"+tbl_grid.getValueAt(linha, 0)+"'";
            conexao.stmt =  conexao.conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE, ResultSet.CONCUR_READ_ONLY);
            conexao.rs = conexao.stmt.executeQuery(sql);

            conexao.rs.next();
            String codigo = conexao.rs.getString("gen_in_codigo");
            String nomeGenero = conexao.rs.getString("gen_st_nome");

            //Captura o duplo click
            if ((evt.getClickCount() == 2) && (evt.getButton() == MouseEvent.BUTTON1)) {
                frm_filme filme = new frm_filme();
                filme.procuraGenero(codigo, nomeGenero);

                dispose(); //método que fecha o Frame.
            }

            lbl_codigo.setText(conexao.rs.getString("gen_in_codigo"));
            txt_nome.setText(conexao.rs.getString("gen_st_nome"));

	} catch (SQLException e) {
            conexao.FecharConexao();
	    e.printStackTrace();
	}
    }
dentro do if no método acima eu passo os parâmetros para o método abaixo:
public void procuraGenero(String codigo, String nomeGenero){
        txt_filmeGenero.setText(codigo);
        lbl_codigoGenero.setText(nomeGenero);
    }
no entanto, ainda não está setando o codigo na JLabel e o nomeGenero na JTextField, será que existe algo de errado com o código e eu não estou percebendo?
Criado 24 de janeiro de 2011
Ultima resposta 25 de jan. de 2011
Respostas 2
Participantes 2