Uma lista ‘null’ nao é uma lista vazia, é uma lista que não existe.
O correto para criar o Model seria.
List<Contato> lista = new ArrayList<Contato>();
ModelTeste modelo = new ModelTeste(lista);
Uma lista ‘null’ nao é uma lista vazia, é uma lista que não existe.
O correto para criar o Model seria.
List<Contato> lista = new ArrayList<Contato>();
ModelTeste modelo = new ModelTeste(lista);
[b]Ai Marky, vlw cara, deu certinho!!!
Qualquer coisa eu aviso blz???
Obrigado!!![/b] :mrgreen:
Ai Marky, eu tentei fazer uma coisa mais profissional aqui, o usuário vai digitar o nome no TextField e vai clicar no botão incluir, inves de add esse nome na Table, fazer uma busca no banco e add na JTable tudo referente a aquele nome, mas ele poderia buscar mais de um nome e add na JTable, desse mesmo jeito que tava antes… como sería???
Meu método que busca no banco é esse
…
[code]public List<Contato> buscar(String nome) throws SQLException{
Connection conn = Conexao.getConexao();
// Nesta Rotína, nescessita de utilizar o contrutor
// para inicializa-lo com o parametro de deseja consultar
Contato contato = new Contato(nome);
String sql = "Select * from usuario where nome=?";
PreparedStatement stmt = conn.prepareStatement(sql);
stmt.setString(1, contato.getNome());
ResultSet rs = stmt.executeQuery();
List<Contato> listar= new ArrayList<Contato>();
while(rs.next()){
Contato cont = new Contato(rs.getInt("idusuario"));
cont.setNome(rs.getString("nome"));
cont.setIdade(rs.getString("idade"));
cont.setTelefone(rs.getString("telefone"));
listar.add(cont);
}
rs.close();
stmt.close();
return listar;
}[/code]
Não entendi sua dúvida.
É assim, o textfield vai ser considerado um campo pra buscas, o usuário irá digitar um possível nome para realizar a busca, caso o nome exista, todos os dados referente aquele nome serão lançados na JTable, a cada vez que o usuário realizar uma busca, os dados terão de ser inseridos na JTable, sem sobrescrever… é quase igual a esse outro i, a diferença é que será realizado uma consulta no banco, antes de inserir na JTable, mas poderam ser inseridos mais de um campo na tabela, ou seja, várias buscas poderam ser feitas, e os dados da JTable não poderam ser Sobrescritos…
O método que busca os dados no banco é esse ai que citei acima…
Obrigado!!
Horas, se for o que eu entendi, voce tem duas soluções.
Altere seu TableModel para aceitar uma List estilo addAll e adicione todos os itens da List dentro do seu model, ou então faça um for no evento e adicione no model um por um dos resultados.
A cada busca que o usuáio fazer no banco, a JTable irá receber os dados referente a busca… se for realizada mais de uma busca, todas elas terão que estar contidas na JTable…
Essa sua segunda solução eu achei mais viável para o meu problema…como sería um código fonte dela…???
Tentei mais não to conseguindo visualizar!!!
Seria mais ou menos assim:
private void incluirVariosActionPerformed(java.awt.event.ActionEvent evt) {
List<Contato> list = new DAO.buscar(recebe_nome.getText());
ModelTeste model = (ModelTeste)tabela.getModel();
for(Contato contato : list)
model.add(contato);
}
Se voce criar o método addAll no TableModel voce faria algo assim.
private void incluirVariosActionPerformed(java.awt.event.ActionEvent evt) {
List<Contato> list = new DAO.buscar(recebe_nome.getText());
ModelTeste model = (ModelTeste)tabela.getModel();
model.addAll(list);
}
Acho a segunda opção mais interessante, voce tem um model semelhante a uma List que é facil de manipular. E esse método no TableModel será bem simples.
Certo Marky, por enquanto eu estou sem tempo por que estou fazendo estágio, mas assim que sair um tempinho eu vo codificar e testar pra ver se deu certinho… por enquanto eu não vou colocar [RESOLVIDO] no tópico Oks??
Sem problemas, tópico “[RESOLVIDO]” é duvida resolvida, quando não lhe restarem mais fique a vontade para mudar.
Ok…Obrigado!!! :mrgreen: