Como fazer para os dados dos contatos de uma agenda fiquem inseridos em uma jTable no netBeans

5 respostas
F

aê pessoal estou criando uma agenda telefônica e gostaria que vcs me ajudassem a inserir os dados dos contatos em uma agenda…
ficaria tipo assim: nome | celular | cidade , e os dados embaixo disso. desde já agradeço, vlw!

5 Respostas

L

Como assim?.. Vc quer fazer o cadastro…ou já fez ele?.. ou quer só buscar do banco de dados os registros e lançar dentro da JTable?

F

isso mesmo, eu quero buscar nos registros e lançar na jTable…e isso com uns 150 contatos no máximo, de acordo com que o usuário for adicionando os contatos, os dados devem aparecer lá na jTable quando ele salvar.

Rodnei

o padrão do netbeans é defaultTableModel,
crei um abstractTableModel para gerar a tabela
e preenche-la com os dados

L

Bom...quando o usuário clicar no botão salvar e depois de executar a ação do salvar propriamente dito, teoricamente vc faz um select no banco buscando os registros e adiciona registro a registro no tablemodel de usa tabela....

Um exemplo simples de criar um tablemodel..

//Especifica as linhas e colunas da tabela
//sendo que linhas é um String[][] e colunas é String[]
      DefaultTableModel  dtm = new DefaultTableModel(linhas, colunas) {

            @Override //isso para não deixar a sua tabela editável...mas se quiser é só não sobrescrever este método
            public boolean isCellEditable(int rowIndex, int mColIndex) {
                return false;
            
            }
        };

//depois adiciona esse model na sua table assim
suaTable.setModel(dtm);
Para adicionar um alinha na sua tabela vc usaria algum método parecido com isso
/**
     *Adiciona uma linha na tabela
     **/
    public void addLinha(String[] str) {
        dtm.addRow(str);



    }

É um exemplo xulo...,as serve pra vc entender o fio da meada
Caso queira uma tabela mais complexa com vários recursos, construa sua propria classe extendendo do JTabel e também sua propria classe TableModel

Nicolas_Fernandes
leopoldof:
Bom...quando o usuário clicar no botão salvar e depois de executar a ação do salvar propriamente dito, teoricamente vc faz um select no banco buscando os registros e adiciona registro a registro no tablemodel de usa tabela....

Um exemplo simples de criar um tablemodel..

//Especifica as linhas e colunas da tabela
//sendo que linhas é um String[][] e colunas é String[]
      DefaultTableModel  dtm = new DefaultTableModel(linhas, colunas) {

            @Override //isso para não deixar a sua tabela editável...mas se quiser é só não sobrescrever este método
            public boolean isCellEditable(int rowIndex, int mColIndex) {
                return false;
            
            }
        };

//depois adiciona esse model na sua table assim
suaTable.setModel(dtm);
Para adicionar um alinha na sua tabela vc usaria algum método parecido com isso
/**
     *Adiciona uma linha na tabela
     **/
    public void addLinha(String[] str) {
        dtm.addRow(str);



    }

É um exemplo xulo...,as serve pra vc entender o fio da meada
Caso queira uma tabela mais complexa com vários recursos, construa sua propria classe extendendo do JTabel e também sua propria classe TableModel


[color=red]NOOOOOOOOOOOOOOOOOO!!![/color]
Abstenha-se do DefaultTableModel da sua vida, por favor, hahaha!
Crie o seu próprio modelo de tabelas. Você evita inúmeros casts, evita trabalhar com os famosos I e J para células na tabela, trabalha diretamente com objetos... Enfim, é bem melhor.
Acesse meu link na assinatura para saber melhor sobre como criar o seu próprio TableModel.

Agora, tendo o TableModel pronto, você faz assim:
List<Contato> contatos = ContatoDAO.recuperarContatos(); // só um exemplo...
SeuTableModel tablemodelContatos = new SeuTableModel(contatos);

JTable tableContatos = new JTable(tablemodelContatos);

Espero ter ajudado,
fique com Deus! :D

Criado 2 de março de 2012
Ultima resposta 6 de mar. de 2012
Respostas 5
Participantes 4