[RESOLVIDO]Passar gettext para outra classe

4 respostas
makecio

Seguinte tenhu a classe LOGIN com um campo de texto.

criei o metodo
public String getUsuario()
    {
        return c_usuario.getText();
    }
na classe TELEAINICIAL criei o seguinte
login in = new login();
e xamei o metodo que executa a query se for verdadeira ela mostra um JPanel com o resultado.
if(sql.busca(in.getUsuario()))
       JOptionPane.showMessageDialog(null,"Seu nome = "+sql.getNome()+"","Titulo!",JOptionPane.INFORMATION_MESSAGE);
o metodo de busca ta funcionando pois ja testei
public boolean busca (String usuario)
    {
        boolean conseguiu=false;
        try
        {
            conseguiu=true;
            resultset = statement.executeQuery("SELECT nome FROM usuario WHERE usuario ='"+usuario+"'");
            if(resultset.next())
            {
                r_nome = resultset.getString("nome");
            }
        }
        catch (Exception e)
        {
             JOptionPane.showMessageDialog(null,"Erro!","Erro!",JOptionPane.ERROR_MESSAGE);
        }
        return conseguiu;
    }
metodo que retorna R_NOME pra classe TELAINICIAL
public String getNome()
    {
        return r_nome;
    }

Simplismente aparece o valor NULL no JOptionPane
O problema nao e no metodo de busca , pois ja uso ele na classe LOGIN que retorna nome corretamente.
Mas aki na classe TELAINICIAL , nao funciona.

4 Respostas

AlexandreGama

Olá makecio!

Por que você simplesmente não usa o usuário da sua classe Login mesmo?

if(sql.busca(in.getUsuario()))  
       JOptionPane.showMessageDialog(null,"Seu nome = " + in.getUsuario() + "","Titulo!",JOptionPane.INFORMATION_MESSAGE);

Não teria necessidade de você fazer um sql.getNome() se o nome é justamente o mesmo nome que o in.getUsuario() retorna,
ou no seu código não é o mesmo?

Até mais!

AlexandreGama

makecio,

Agora que olhei com maior atenção o seu select, por que você teria uma comparação com usuario?

resultset = statement.executeQuery("SELECT nome FROM usuario WHERE usuario ='"+usuario+"'");

O que seria este usuário pra você? Só como dica, tenta dar uma renomeada nos seus métodos, de modo que
o que ele retorna fique mais claro. Talvez isso ajude pois ao bater o olho no método getUsuario() tem-se
a impressão que ele retornará um Objeto do tipo Usuario e agora fiquei em dúvida se ele retorna um Nome do usuário,
já que o seu get é do tipo String ou se ele retorna alguma outra informação.

Até mais!

makecio

Usuario é diferente de nome

no caso aqui do meu BD o usuario = codigo do “usuario”
nome = nome do usuario EX: Fulano de Tall da Silva

usei sql.getNome() , pois este metodo esta dentro da class CONEXAO onde tbm esta o atributo r_nome , que recebe o valor das query do result.set

outro problema é que quando eu tento de chamar -> in.getUsuario(), por algum motivo o parametro nao esta sendo passado corretamente

e tenhu que certeza que declarei o atributo in corretamente.

login in = new login();

makecio

achei o problema…

eu estava chamando o novo frame como sempre chamei… new telainicial().setVisible(true);

mas como eu tava trabalhando com obejto da outra classe parece que eu tinah que dar setvisible no proprio objeto

dai ficou assim in.setVisible(true);

Criado 24 de outubro de 2010
Ultima resposta 25 de out. de 2010
Respostas 4
Participantes 2