Eai galera tou com um problema que é o seguinte:
Tenho uma classe de Vendas que possui uma jTable (nomeada de tabelaLocal) que possui 3 colunas sendo elas Código, Serviço e Valor e que quando o formulário de vendas é chamado ela é populada de acordo com o número de objetos que eu recuperei da minha base de dados. Porém quando vou executar uma venda, preciso de vincular um cliente e para listar os clientes cadastrados criei um botão que vai chamar o método listarClientes() para sobreescrever esta tabela local com uma tabela de clientes para listar os mesmos. Então criei a classe criaTabela para criar a tabela cliente, popular a mesma e devolver a tabela já populada para sobreescrever a minha tabelaLocal, segundo o código abaixo (somente os métodos que interessam):
Na classe Vendas
public void listarClientes() {
tabelaLocal = criarTabela.montaTabela();
}
Na classe CriaTabela:
[code] public JTable montaTabela(){
DefaultTableModel modelo = new DefaultTableModel();
modelo.setNumRows(0);
String [] colunas = new String[]{"Código", "Nome", "Telefone", "Endereço", "Número", "Bairro"};
modelo.addColumn(colunas);
ClienteBO boCliente = new ClienteBO();
List<Cliente> clientes = boCliente.buscaTodos();
try {
Iterator<Cliente> i = clientes.iterator();
Cliente c;
while (i.hasNext()) {
c = i.next();
modelo.addRow(new Object[] {c.getId(), c.getNome(), c.getTelefone(), c.getEndereco(), c.getNumero(), c.getBairro()});
}
} catch (Exception e) {
e.printStackTrace();
msg.avisos("Erro ao listar os clientes na tabela");
}
JTable novaTabela = new JTable(modelo);
return novaTabela;
}
[/code]
O problema que tenho é que quando eu faço o uso do botão (a ActionPerformed já está definida e fazendo a chamada correta do método listarClientes() ), ele faz a chamada da minha classe de criar a tabela e ela é retornada porém a minha tabelaLocal não é sobreescrita! O que fazer?
[quote=Gabriel Garcia]Eai galera tou com um problema que é o seguinte:
Tenho uma classe de Vendas que possui uma jTable (nomeada de tabelaLocal) que possui 3 colunas sendo elas Código, Serviço e Valor e que quando o formulário de vendas é chamado ela é populada de acordo com o número de objetos que eu recuperei da minha base de dados. Porém quando vou executar uma venda, preciso de vincular um cliente e para listar os clientes cadastrados criei um botão que vai chamar o método listarClientes() para sobreescrever esta tabela local com uma tabela de clientes para listar os mesmos. Então criei a classe criaTabela para criar a tabela cliente, popular a mesma e devolver a tabela já populada para sobreescrever a minha tabelaLocal, segundo o código abaixo (somente os métodos que interessam):
Na classe Vendas
public void listarClientes() {
tabelaLocal = criarTabela.montaTabela();
}
Na classe CriaTabela:
[code] public JTable montaTabela(){
DefaultTableModel modelo = new DefaultTableModel();
modelo.setNumRows(0);
String [] colunas = new String[]{"Código", "Nome", "Telefone", "Endereço", "Número", "Bairro"};
modelo.addColumn(colunas);
ClienteBO boCliente = new ClienteBO();
List<Cliente> clientes = boCliente.buscaTodos();
try {
Iterator<Cliente> i = clientes.iterator();
Cliente c;
while (i.hasNext()) {
c = i.next();
modelo.addRow(new Object[] {c.getId(), c.getNome(), c.getTelefone(), c.getEndereco(), c.getNumero(), c.getBairro()});
}
} catch (Exception e) {
e.printStackTrace();
msg.avisos("Erro ao listar os clientes na tabela");
}
JTable novaTabela = new JTable(modelo);
return novaTabela;
}
[/code]
O problema que tenho é que quando eu faço o uso do botão (a ActionPerformed já está definida e fazendo a chamada correta do método listarClientes() ), ele faz a chamada da minha classe de criar a tabela e ela é retornada porém a minha tabelaLocal não é sobreescrita! O que fazer?
[/quote]
Conheço pouco sobre jTable até pq o foco da facudade não é aplicativo desktop! Então tudo que eu tenho descoberto sobre aplicativos desktop foi por conta propria, pesquisando e futricando nas opções do netbeans e dentro dos limites de tempo que tenho!
Vlw ai pela ajuda, vou implementar uma TableModel aqui e se eu tiver alguma duvida eu volto a perguntar neste tópico!