Bom dia galerinha,
Estou iniciando em java, e estou com uma duvida que para mtos pode ser simples. Seguinte:
Criei uma inteface com entrada de dados que são jogados para um Jtable.
Ao jogar para a Jtable ela tbem cria(salva) um arquivo.txt.
Ao consultar esse arquivo.txt ela preenche o jTable.
Ai vem a duvida:
Se eu incluir algum valor a tabela, ela só salva o novo valor.
Raciocinei um pouco e decidi não salvar o arquivo.txt direto dos campos de texto, mas sim do Jtable, assim eu poderia consultar o arquivo salvo, alterar, incluir, etc…
mas como poderei fazer isso??
abaixo segue o metodo que estou usando.
private void JBgravarActionPerformed(java.awt.event.ActionEvent evt) {
DefaultTableModel dtm = (DefaultTableModel) jTable1.getModel();
Object campos[] = {JTFcodigo.getText(), JCBtipo.getSelectedItem(), JTFdata.getText(), JTFcompra.getText(), JTFvenda.getText(), JLtotal.getText()};
dtm.addRow(campos);
// os dados são armazenados no arquivo direto na digitação. É necessario que ele seja jogado para o Jtable e o Jtable seja salvo.
int cod = Integer.parseInt(JTFcodigo.getText());
String tipo = (String) JCBtipo.getSelectedItem();
String data = JTFdata.getText();
double compra = Double.parseDouble(JTFcompra.getText());
double venda = Double.parseDouble(JTFvenda.getText());
double total = Double.parseDouble(JLtotal.getText());
caixa.add(new Caixa(cod, tipo, data, compra, venda, total));
gravaArquivo();
JOptionPane.showMessageDialog(null, "Salvo com sucesso!");
limpar();
}
public void gravaArquivo(){
try{
ObjectOutputStream arquivoGravar = new ObjectOutputStream (new FileOutputStream(new File("arquivo.txt")));
arquivoGravar.writeObject(caixa);
} catch(IOException erro){
JOptionPane.showMessageDialog(null, "Erro ao gravar" + erro);
}
}