Quantcast
Channel: Programação - GUJ
Viewing all articles
Browse latest Browse all 33093

Problema ao editar jtable

$
0
0

@Giovanni_Chrispin escreveu:

Bom dia, estou tentando editar uma célula de uma coluna, mas ao editar com o valor novo ele retorna para o valor antigo. estou usando as seguintes classes:

classe TableModel:
/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package Model;

import java.util.ArrayList;
import javax.swing.table.AbstractTableModel;

/**
 *
 * @author Giovanni.Chrispin
 */
public class TableModel extends AbstractTableModel{
    private ArrayList linhas = null;
    private String[] colunas = null;
    
    public TableModel(ArrayList lin, String[] col){
        setLinhas(lin);
        setColunas(col);
    }
        public ArrayList getLinhas(){
            return linhas;
        }
        
        public void setLinhas (ArrayList dados){
            linhas = dados;
        }
        
        public String[] getColunas(){
            return colunas;
        }
        
        public void setColunas (String[] nomes){
            colunas = nomes;
        }
        
        public int getColumnCount(){
            return colunas.length;
        }
        
        public int getRowCount(){
            return linhas.size();
        }
        
        public String getColumnName(int numCol){
            return colunas[numCol];
        }
        
        public Object getValueAt(int numLin, int numCol){
            Object[] linha = (Object[])getLinhas().get(numLin);
            return linha[numCol];
        }
        
        public boolean isCellEditable(int numLin, int numCol){
            return true;
        }
        
}

Metodo para gerar parcelas e preencher jtable:

public void preencherTabela() {

        ArrayList dados = new ArrayList();
        String[] colunas = new String[]{"ID", "DATA", "VALOR"};

        String data = jFormattedTextField_data.getText();
        String dia, mes, ano;
        dia = "" + data.charAt(0) + data.charAt(1) + "/";
        mes = "" + data.charAt(3) + data.charAt(4);
        ano = "/" + data.charAt(6) + data.charAt(7) + data.charAt(8) + data.charAt(9);
        int anoInt = Integer.parseInt("" + data.charAt(6) + data.charAt(7) + data.charAt(8) + data.charAt(9));
        int mesInt = Integer.parseInt(mes);

        while (i <= quantidadeParcela) {
            if (mesInt < 10) {
                dados.add(new Object[]{i, dia + "0" + mesInt + "/" + anoInt, nf.format(valorParcela)});
            } else {
                dados.add(new Object[]{i, dia + mesInt + "/" + anoInt, nf.format(valorParcela)});
            }
            mesInt++;

            if (mesInt > 12) {
                anoInt++;
                mesInt = 1;
            }
            i++;
            cont++;
        }

        TableModel modelo = new TableModel(dados, colunas);
        jTable_parcelas.setModel(modelo);
        jTable_parcelas.getColumnModel().getColumn(0).setPreferredWidth(50);
        jTable_parcelas.getColumnModel().getColumn(0).setResizable(false);
        jTable_parcelas.getColumnModel().getColumn(1).setPreferredWidth(200);
        jTable_parcelas.getColumnModel().getColumn(1).setResizable(false);
        jTable_parcelas.getColumnModel().getColumn(2).setPreferredWidth(180);
        jTable_parcelas.getColumnModel().getColumn(2).setResizable(false);

        jTable_parcelas.getTableHeader().setReorderingAllowed(false);
        jTable_parcelas.setAutoResizeMode(jTable_parcelas.AUTO_RESIZE_OFF);

        jTable_parcelas.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
    }

Mensagens: 5

Participantes: 2

Ler tópico completo


Viewing all articles
Browse latest Browse all 33093


<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>