Jump to content

Atualizar Jtable Automáticamente


Tonik
 Share

Recommended Posts

Boas caros prgramadores,

Eu tenho o meu programa quase concluído, mas estou com um problema que gostava de resolver, o meu programa tem várias Jtables, mas quando faço uma alteraçao em algum dado altera na base de dados e não nas tabelas, apenas atualiza as tabelas quando volto a entrar no programa de novo.

Ps: Minha base de dados está num ficheiro txt em uma hashtable.

Cumprimentos!

Link to comment
Share on other sites

Tens que voltar a popular a tabela com os dados da base de dados depois de inserir, actualizar ou eliminar qualquer dado ou conjunto de dados....

Tal como fazes ao iniciar o programa

Engenharia de Sistemas Informáticos @ IPCA

"Estou convencido de que cerca de metade do que separa os empreendedores de sucesso daqueles malsucedidos é a pura perseverança." - Steve Jobs

Link to comment
Share on other sites

CRLF não é o nick 🙂

Ou carregas tudo e actualizas ou fazes isso um a um (mais eficiente).

Quando inicias o programa, deves ter um método ou pedaço de código que lê o ficheiro, faz o parse e insere na tabela. Após fazeres algo que modifique a base de dados chamas esse método ou copias e colas o código após actualizares o ficheiro com a nova informação.

Sem código da tua parte é o máximo que te posso dizer, se bem que com alguma pesquisa implementas isso de uma forma mais eficiente, se sabes aquilo que alteraste no ficheiro não precisas de o ler todo novamente para ir buscar o que já tens...

Edited by KiNgPiTo
Link to comment
Share on other sites

Boas amigos, ainda não consegui resolver isto, vou deixar aqui o codigo TODO que lê do ficheiro para que me possam dar algumas dicas.

//INICIO LEITURA FICHEIRO
 while ( ( linha = br.readLine() ) != null) {

				    if(linha.compareTo("USERS") == 0){
					    String username = br.readLine();
					    String pass = br.readLine();

					    gestor.login.insert(username, pass);
				    }

				    if(linha.compareTo("CPID") == 0){//counter de id's para os produtos
					    String count =  br.readLine();
					    counterProdutosID = Integer.parseInt(count);

  }
				    else if(linha.compareTo("CEID") == 0){//counter para ids de entregas
					    String count =  br.readLine();
					    counterEntregasID = Integer.parseInt(count);
				    }
				    else if(linha.compareTo("IP") == 0){   
   String nomeProduto=br.readLine();
   String idFornecedor=br.readLine();   
   String origem=br.readLine();   
   String preco= br.readLine();   
   String encomendaAuto=br.readLine();   
   String quantidade=br.readLine();   
   String identificador = br.readLine();
   String quandEncomenda = br.readLine();
   Double pr = new Double(preco);
   int qe = Integer.parseInt(quandEncomenda);
   Integer quant = new Integer(quantidade);

   Produtos prod = new Produtos(nomeProduto, idFornecedor, origem, pr, encomendaAuto, identificador, quant, qe);

   stock.criarProduto(identificador,prod);

  }
  else if(linha.compareTo("IC")==0){
   String nome=br.readLine();
   String morada=br.readLine();
   String nif = br.readLine();
   String telemovel = br.readLine();
   String telefone = br.readLine();
   String mail = br.readLine();
   String identificador = br.readLine();
   int n = Integer.parseInt(nif);
   int tlf = Integer.parseInt(telefone);
   int tlm = Integer.parseInt(telemovel);
   gestor.guardarCliente(identificador, nome, morada, n, tlm, tlf, mail);
  }
  else if(linha.compareTo("IF")==0){
   String nome=br.readLine();
   String morada=br.readLine();
   String nif = br.readLine();
   String telemovel = br.readLine();
   String telefone = br.readLine();
   String mail = br.readLine();
   String identificador = br.readLine();
   int n = Integer.parseInt(nif);
   int tlf = Integer.parseInt(telefone);
   int tlm = Integer.parseInt(telemovel);
   gestor.guardarFornecedor(identificador, nome, morada, n, tlm, tlm, mail);
  }

  else if(linha.compareTo("IE")==0){
   String IDCliente = br.readLine();
   String Destino =  br.readLine();
   String identificador =  br.readLine();

   String i = br.readLine();//numero de produtos na lista de entregas desta entrega

   int ide = Integer.parseInt(identificador);
   int num = Integer.parseInt(i);
   gestor.novaEntrega(ide, IDCliente, Destino);

   int counter=0;
   while(counter!=num){
 String nomeProduto=br.readLine();
 String IDFornecedor=br.readLine();
 String origem=br.readLine();
 String preco=br.readLine();
 String encomendaAuto=br.readLine();
 String quantidade=br.readLine();
 String idp=br.readLine();
 String quandEncomenda = br.readLine();	

								    double pr = Double.valueOf(preco);
 int qe = Integer.parseInt(quandEncomenda);//duas formas de converter de string para int
 Integer quant = Integer.parseInt(quantidade);//

 Produtos prod = new Produtos(nomeProduto, IDFornecedor, origem, pr, encomendaAuto, idp, quant, qe);
 //prod.adicionarQuantidade(quant);
 gestor.consultarEntregas(ide).adicionarProdutoLista(idp, prod, qe);

								    counter++;
						    }   
  }

  else if(linha.compareTo("IEE")==0){
   String IDCliente = br.readLine();
   String Destino =  br.readLine();
   String identificador =  br.readLine();
   String i = br.readLine();//numero de produtos na lista de entregas desta entrega

   int ide = Integer.parseInt(identificador);
   int num = Integer.parseInt(i);
   gestor.novaEntregaEfetuada(ide, IDCliente, Destino);

   int counter=0;
   while(counter!=num){
 String nomeProduto=br.readLine();
 String IDFornecedor=br.readLine();
 String origem=br.readLine();
 String preco=br.readLine();
 String encomendaAuto=br.readLine();
 String quantidade=br.readLine();
 String idp=br.readLine();
 String quandEncomenda = br.readLine();

 Double pr = new Double(preco);
 int qe = Integer.parseInt(quandEncomenda);//duas formas de converter de string para int
 Integer quant = new Integer(quantidade);//

 Produtos prod = new Produtos(nomeProduto, IDFornecedor, origem, pr, encomendaAuto, idp, quant, qe);
 prod.adicionarQuantidade(quant);
 gestor.consultarEntregasEfetuadas(ide).adicionarProdutoLista(idp, prod, qe);
   }   
  }

  else if(linha.compareTo("IPEEA")==0){//produto esgotado encomenda auto
   String nomeProduto=br.readLine();
   String nomeFornecedor=br.readLine();   
   String origem=br.readLine();   
   String preco= br.readLine();   
   String encomendaAuto=br.readLine();   
   String quantidade=br.readLine();   
   String identificador = br.readLine();
   String quandEncomenda = br.readLine();
   Double pr = new Double(preco);
   int qe = Integer.parseInt(quandEncomenda);
   Integer quant = new Integer(quantidade);
   Produtos prod = new Produtos(nomeProduto, nomeFornecedor, origem, pr, encomendaAuto, identificador,quant, qe);
   prod.adicionarQuantidade(quant);
   stock.adicionarProdutoEsgotadoEA(prod);
  }

  else if(linha.compareTo("IPESEA")==0){ //produto esgotado sem encomenda automatica
   String nomeProduto=br.readLine();
   String nomeFornecedor=br.readLine();   
   String origem=br.readLine();   
   String preco= br.readLine();   
   String encomendaAuto=br.readLine();   
   String quantidade=br.readLine();   
   String identificador = br.readLine();
   String quandEncomenda = br.readLine();
   Double pr = new Double(preco);
   int qe = Integer.parseInt(quandEncomenda);
   Integer quant = new Integer(quantidade);

   Produtos prod = new Produtos(nomeProduto, nomeFornecedor, origem, pr, encomendaAuto, identificador, quant, qe);
   prod.adicionarQuantidade(quant);
   stock.adicionarProdutoEsgotado(prod);
  }

  else if(linha.compareTo("IPE")==0){//protudo encomendado ao fornecedor
   String nomeProduto=br.readLine();
   String nomeFornecedor=br.readLine();   
   String origem=br.readLine();   
   String preco= br.readLine();   
   String encomendaAuto=br.readLine();   
   String quantidade=br.readLine();   
   String identificador = br.readLine();
   String quandEncomenda = br.readLine();
   Double pr = new Double(preco);

   int qe = Integer.parseInt(quandEncomenda);
   Integer quant = new Integer(quantidade);

   Produtos prod = new Produtos(nomeProduto, nomeFornecedor, origem, pr, encomendaAuto, identificador, quant, qe);
   prod.adicionarQuantidade(quant);
   stock.adicionarProdutoAEncomendar(prod);
  }
 }// FIM LEITURA FICHEIRO

Pessoal tendo isto a atualizar as tabelas, eu fico com o meu programa quase concluído, e assim termino o meu curso técnico profissionasl nivel 4!! 🙂

Obrigado a todos

Link to comment
Share on other sites

Amigo nram, o meu problema é que quando eu altero alguma coisa no programa, as tabelas nunca sao alteredas, pois o programa só lê o ficheiro quando o inicia, ou seja, quando eu faço alguma alteração as tabalas mantem os mesmo dados, e estes dados só são actualizados na proximas vez que abrir o programa.

Observer?

nao conheço, em que consiste?

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.