Boa noite pessoal...
Sou novo em java e no GUJ, curso atualmente o 7º semestre de Ciência da Computação e estou desenvolvendo um pequeno projeto na universidade, este projeto envolve a criação de um sistema de gerenciamento de fluxo de caixa com banco de dados em postgre, aqueles controles de contas bem simples, bem, o sistema esta na segunda formatação pois a primeira não ficou satisfatória, estou aprendendo java com este projeto, meio que na base do empurrão, necessito e agradeço toda e qualquer ajuda possível.
Bem sem mais enrolação vamos aos meus problemas...
A parte de inclusão, exclusão, alteração no banco de dados Postgre está funcionando perfeitamente, meu sistema está bem dividido em pacotes, Ex: Parte de telas(JFrame's, Codigos SQL, Atributos...), os meus problemas estão relacionados ao tratamento de comandos em janelas diferentes, tentarei mostrar e explicar estes exemplos mais adiante...
Imagem explicativa das telas
[url]http://a.imageshack.us/img52/9444/extelasprimsec.png[/url]
1º Meu sistema possue varias tabelas, em todas eu uso Default Table Model, List Selection Model e List's para preenche-las.
Para ficar mais bonita a visualização do sistema, o cadastro de bancos, compras, vendas, clientes e funcionários são feitas em JFrame's separadas das tabelas onde eles são listados... visualização no link abaixo
[url]http://img689.imageshack.us/img689/3273/telascadastro.png[/url]
Eu necessito fazer com que o sistema atualize a tabela para quando eu cadastrar/alterar os dados que retirei do banco, cliente, fornecedor, compras ou vendas ou o que for... O que eu tentei fazer inicialmente (que utilizei na 1ª versao do sistema onde a tabela e os JTextField estavam no mesmo JFrame e funcionava) foi rechamar o método utilizado para povoar as tabelas inicialmente... Codigo abaixo é o de povoamento da tabela Compras, existente no JFrame JFInicial, funciona perfeitamente quando abro o frame... Ex: figura da janela Bancos vista acima....
[i]Por favor, tratem este trecho de código como se funcionasse perfeitamente, pois realmente funciona perfeitamente, esta aqui apenas para mostrar como é feito o povoamento da tabela[/i]
DefaultTableModel tmCompras = new DefaultTableModel(null, new String[]{"Data", "Vencimento", "Pagamento", "Modo", "Documento", "Descrição da Despesa", "Conta", "Fornecedor", "Valor", "Situação", "Obs"});
List<Compras> comprass;
public void InsereCompras(){
try {
ListarCompras();
} catch (SQLException ex) {
JOptionPane.showMessageDialog(null, "Problemas para inserir dados na tabela despesas "+ ex);
}
}
public void ListarCompras() throws SQLException {
ComprasSQL sql = new ComprasSQL();
comprass = sql.getList("%" + "" + "%"); //Chama do arquivo ComprasSQL a lista de comprass, envia por parametro o Modo de compra(Dinheiro, cheque, cartao...), ou seja, qualquer modo.
mostraPesquisaCompras(comprass);
}
private void mostraPesquisaCompras(List<Compras> comprass) {
while (tmCompras.getRowCount() > 0) {
tmCompras.removeRow(0);
}
if (comprass.size() == 0) {
JOptionPane.showMessageDialog(null, "Nenhuma conta para pagar hoje!");
} else {
String[] linha = new String[]{null, null, null, null, null, null, null, null, null, null, null};
for (int i = 0; i < comprass.size(); i++) {
tmCompras.addRow(linha);
tmCompras.setValueAt(comprass.get(i).getDataCompra(), i, 0);
tmCompras.setValueAt(comprass.get(i).getVencimento(), i, 1);
tmCompras.setValueAt(comprass.get(i).getDataPagamento(), i, 2);
tmCompras.setValueAt(comprass.get(i).getModo(), i, 3);
tmCompras.setValueAt(comprass.get(i).getDocumento(), i, 4);
tmCompras.setValueAt(comprass.get(i).getDescricao(), i, 5);
tmCompras.setValueAt(comprass.get(i).getIdBanco(), i, 6);
tmCompras.setValueAt(comprass.get(i).getIdFornecedor(), i, 7);
tmCompras.setValueAt(comprass.get(i).getValor(), i, 8);
tmCompras.setValueAt(comprass.get(i).getSituacao(), i, 9);
tmCompras.setValueAt(comprass.get(i).getObs(), i, 10);
}
}
}
public void atualizaTabela(){
JFInicial atualiza = new JFInicial();
atualiza.InsereCompras();
}
Bom pessoal, este é o meu problema, se for necessário mais explicações por favor me informe que posto tudo que for necessário, preciso muito resolver estes problemas...
Agradeço muito qualquer ajuda que vocês puderem me dar
Radaelli