Jtable

4 respostas
fabiodurgante

seguinte tenho uma tabela aqui funciona

private void preencheTabelaNomeCliente(){
          DefaultTableModel modelo = new javax.swing.table.DefaultTableModel(
            new Object [][] {},
            new String [] {"Código", "Nome", "Estado", "CPF", "Data", "Foto"}
        );
    ClienteDao clienteD = new ClienteDao();
   
    tabela.setModel(modelo);
    List<Cliente> lista = clienteD.listar(campo_pra_pesquisaNome.getText());//aqui pega o campo por parametro pra pesquiza

    
    for(Cliente cli:lista) {
        modelo.addRow(new String[] {
            
            cli.getid_Cliente().toString(), cli.getNome_Cliente(), cli.getEstado_Cliente(), cli.getCpf_Cliente(), cli.getData_Cliente().toString()
            //cli.getData_Cliente(new Date(rs.getDate("data_cliente").getTime() ))
        });
    }
}

na FOTO quero colocar um icone imagem alguem sabe como ???

4 Respostas

Fernando_Generoso_da

Dá uma estudada em TableRenderer:

http://java.sun.com/docs/books/tutorial/uiswing/components/table.html

Fernando

fabiodurgante

bahhh ja vi isso e nao consegui nada nada mesmo a coisa é feia!!!

fabiodurgante
private void preencheTabelaNomeCliente(){
         DefaultTableModel modelo = new javax.swing.table.DefaultTableModel(
                 
           
            new Object  [][]  { },
            new String [] {"Código", "Nome", "Estado", "CPF", "Data", "Foto"}
        );
              
         
    ClienteDao clienteD = new ClienteDao();
   
   tabela.setModel(modelo);
    List<Cliente> lista = clienteD.listar(campo_pra_pesquisaNome.getText());//aqui pega o campo por parametro pra pesquiza
   
    
    ImageIcon dirImage;
dirImage = new ImageIcon("excluir.gif");  
    
Vector vector = new Vector();
vector.addElement(dirImage );

  
    for(Cliente cli:lista) {
        modelo.addRow(new String[] {
           
            
            cli.getid_Cliente().toString(), 
            cli.getNome_Cliente(), 
            cli.getEstado_Cliente(), 
            cli.getCpf_Cliente(),
            cli.getData_Cliente().toString(), 
             
        //    ((DefaultTableModel)tabela.getModel()).addColumn("Foto"),
                   
            //cli.getData_Cliente(new Date(rs.getDate("data_cliente").getTime() ))
        });
modelo.addRow(vector);
        
      
    }
}

fazendo isso conseigo coloca o arquivo excluir.gif na tabela mas o nome do arquivo ele nao aparece a imagem

alguem poeria ajudar ???

ViniGodoy

O problema é que você está tentando usar o JTable, sem entender como o JTable funciona… Aí, obviamente, você não vai conseguir os resultados desejados.

O primeiro passo é abandonar de vez o DefaultTableModel, e entender como o TableModel obtém os dados que vai desenhar.
Para isso, leia os seguintes artigos, do Informit:
http://www.informit.com/articles/article.aspx?p=332278
http://www.informit.com/articles/article.aspx?p=333472

E veja o seguinte exemplo, no GUJ:
http://www.guj.com.br/posts/list/98452.java#530523

Após isso, você já terá uma noção melhor de como fornecer os dados corretamenta para o JTable. Isso, por si só, melhora muito a qualidade do seu código, mas ainda não resolve seu problema.

O segundo passo, é entender como a tabela desenha os dados. Ela faz isso através de duas classes: O TableCellRenderer (na hora de exibir os dados) e o TableCellEditor (na hora de editar o dado). Os métodos table.setDefaultRenderer e table.setDefaultEditor alteram esses caras. Leia sobre eles. Como você já conhecerá sobre o model, vai entender muito mais facilmente como as coisas se conectam.

Criado 3 de fevereiro de 2009
Ultima resposta 4 de fev. de 2009
Respostas 4
Participantes 3