Probleminha com atributos

4 respostas
N

Bom dia
galera desde sexta que to tentando resolver sozinho e ta dificil ,, entao estou recorrendo ajuda dos profissionais..
to tentando aprender Java. mas como sou meio :newbie: ainda ta complicado.
minha duvida é a seguinte

criei um atributo
String nomes
que esta recebendo o nome do usuario do BD quando faco uma consulta
botao.addActionListener(new ActionListener(){
            public void actionPerformed(ActionEvent e){
                               
                try {
                    String url = "jdbc:mysql://localhost/fer";
                    String usuario = "root";
                    String senha = "nando";
                    Class.forName("com.mysql.jdbc.Driver");
                    Connection con;
                    con = DriverManager.getConnection(url,usuario,senha);
                    Statement st = con.createStatement();
                    ResultSet rs =  st.executeQuery("SELECT * FROM user WHERE Codigo=" +t1.getText());
                    //ResultSet ls = st.executeQuery("select Nome from user");
                    rs.next();
                    //Lista.getSelectedValue(ls.getString("Nome"));
                    t2.setText(rs.getString("Nome"));
                    t3.setText(rs.getString("Idade"));
                    tdia.setText(rs.getString("Data_Nascimento"));
                    t5.setText(rs.getString("Salario"));
                    nomes=t2.getText();// <----- atributo nomes recebendo a string da textField "t2"
  st.close();
                    con.close();
                } catch(Exception event) {
                    JOptionPane.showMessageDialog(null,"Conexão não estabelecida\nPessoa não encontrada","Mensagem do Programa",JOptionPane.ERROR_MESSAGE);
                    //event.printStackTrace();        
                    //System.err.println("SELECT * FROM user WHERE Codigo=" +t1.getText()+ "OR Nome=" +t2.getText()");
                   
                }
            }});
até ai tudo bem "nomes" esta recebendo o valor de "t2" ai eu fiz o seguinte , coloquei a baixo o seguinte codigo , para que mostra-se uma imagem quando fizesse a consulta no banco,, onde as imagens tem o mesmo nome do campo nome na BD,
ImageIcon icone = new ImageIcon("C:\Documents and Settings\nando\Inserir-Consultar-Excluir\src\Excluir\"+nomes+".jpg");
         imagem = new JLabel(icone);
         imagem.setBounds(290,92,130,150);
         tela.add(imagem);
         System.err.println("C:\Documents and Settings\nando\Inserir-Consultar-Excluir\src\Excluir\"+nomes+".jpg");
apos a execucao tenho a seguinte mensagem
C:\Documents and Settings\nando\Inserir-Consultar-Excluir\src\Excluir\null.jpg
cheguei a conclusao obvia que ImagemIcon ta sendo executado antes de receber o campo nomes

ai gostaria de saber se tem jeito de atualizar o imagemicon , na hora que clico no botao da consulta
ou se tem algum jeito mais facil de fazer oq estou tentando

consegurtam entender oq estou tentando fazer?

4 Respostas

S

Não entedi tão bem, mas pelo que você mostra como resultado, pode ser o seguinte, a variável nomes também já pode ter sido descartada e por isso o null.
tenta colocar t2.getText() ao invés de nomes.

N

vc diz , fazer assim

ImageIcon icone = new ImageIcon("C:\Documents and Settings\nando\Inserir-Consultar-Excluir\src\Excluir\"+t2.getText()+".jpg");

é nao tinha tentado isso,

cada vez eu realizar a consulta campo textField (t2) vai ter um nome de usuario diferente…
ele vai atualizar sozinho o imageicon sera?

dexa eu dizer oq estou tentando fazer.

tenho uma tabela com nome, codigo , idade, etc…
dai pra cada usuario cadastrado , eu queria que aparece uma foto.
a imagem tem o mesmo nome do campo Nome na tabela
tipo
tabela.nome = fer
imagem = fer.jpg

assim quando faco uma consulta o atributo que esta na imageicon
vai receber o campo Nome e chamar a sua imagem correspondete… mas pra isso
tem que ter algum “refresh” coisa que num descobri como fazer . ou alguma coisa do genero
agradeco pela ajuda!!!

N

quando coloco o metodo pra chamar a imagem dentro do botao consulta, ele recebe o parametro. ai da certo
porem nao consigo colocar o .add(imagem)
dentro do botao , ele precisa ficar pra fora,
ai da pau!!!

entao vo fazer uma
private
que que quando o valor de “t2” for diferente de null.
sera executada
e coloque o desenho na tela…

ééé ta meio confuso :martelada: nem eu sei direito oq vou fazer :quedor:, ,mas assim que der certo coloco aqui
:brinde:

S

é ta confuso.
eu nao uso mto esses componentes vou ficar devendo como vc faz pra colocar a imagem, mas a persistencia vai te ajudar :lol:
abraços

Criado 13 de maio de 2008
Ultima resposta 21 de mai. de 2008
Respostas 4
Participantes 2