Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

David Araujo

JTable

Recommended Posts

Bom pessoal, já rodei um bocado nos fóruns procurando esclarecer minhas dúvidas. Gostaria da ajuda de vocês.. como eu faço para adicionar os dados que estão no banco e setalos na JTable.

Exemplo:

 

Tenho uma lista de objetos do tipo Contato (nome, telefone, celular, email), como fária para setar essa lista na table?

Outra coisa também é em relação aos métodos de incluir, alterar e deletar.

 

[]´s

Valeu!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Para trabalhar com os dados exibidos no JTable voce precisa definir um modelo.

JTable tabela = new JTable();
table.setModel(seuModelo);

Supondo que voce tem uma classe definida como Contato e uma lista de objetos do tipo, vejamos o exemplo.

Object[][] data = new Object[list.size()][4];
for(int i = 0; i < list.size(); i++)
    Contato c = list.get(i);
    data[i][0] = c.getNome();
    ...
}

Object[] columnNames = new Object[] {"Nome", "Telefone", "Celular", "e-mail"};
DefaultTableModel modelo = new DefaultTableModel(data, columnNames);
tabela.setModel(modelo);

PS: Compila e veja se ha erros, pois nao testei.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas no caso como que eu crio o meu Model? To me perdendo nisso, não to pegando a lógica de como funciona isso. Se poder esclarecer melhor fico agradecido!

 

Valeu Vergil

[]´s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Para trabalhar com os dados exibidos no JTable voce precisa definir um modelo.

JTable tabela = new JTable();
table.setModel(seuModelo);

Supondo que voce tem uma classe definida como Contato e uma lista de objetos do tipo, vejamos o exemplo.

Object[][] data = new Object[list.size()][4];
for(int i = 0; i < list.size(); i++)
    Contato c = list.get(i);
    data[i][0] = c.getNome();
    ...
}

Object[] columnNames = new Object[] {"Nome", "Telefone", "Celular", "e-mail"};
DefaultTableModel modelo = new DefaultTableModel(data, columnNames);
tabela.setModel(modelo);

PS: Compila e veja se ha erros, pois nao testei.

 

 

Mas no caso como que eu crio o meu Model? To me perdendo nisso, não to pegando a lógica de como funciona isso. Se poder esclarecer melhor fico agradecido!

 

Valeu Vergil

[]´s

Compartilhar este post


Link para o post
Compartilhar em outros sites

A principio voce tem que ter em mente que o modelo e uma camada independente do componente JTable. Voce nao altera os dados da tabela atraves de propriedades. Quando voce quer inserir dados numa tabela voce tem que criar um modelo e quando quer recuperar algum valor, deve recuperar o modelo.

 

O modelo por sua vez e formado por uma matriz bidimensional representando os dados e uma matriz unidimensional representando os titulos para cada coluna da tabela.

 

Imagine uma tabela com duas linhas e tres colunas. Cada linha representara um contato de uma agenda telefonica.

Model

|CODIGO|NOME|TELEFONE|

-----------------------

|1 |Jose |12345678|

|2 |Maria|87654321|

-----------------------

 

Retratando num objeto JTable:

JTable tabela = new JTable(); // Criando a tabela
Object[][] dados = new Object[2][3]; // Define uma matriz bidimensional para armazenar os valores
Object[] titulos = new Object[3]; // Define uma matriz unidimensional para armazenar os titulos
// primeira linha
dados[0][0] = 1;
dados[0][1] = "Jose";
dados[0][2] = "12345678";

// segunda linha
dados[1][0] = 2;
dados[1][1] = "Maria";
dados[1][2] = "87654321";

// titulos
titulo[0] = "CODIGO"
titulo[1] = "NOME"
titulo[2] = "TELEFONE"

// criando objeto modelo
DefaultTableModel modelo = new DefaultTableModel(dados, titulos);

// definindo o modelo da tabela
tabela.setModel(modelo);

Se ainda assim voce nao entender, sugiro que leia esse excelente tutorial http://www.guj.com.br/article.show.logic?id=140

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.