Bom dia pessoal,
Estou com mais uma dúvida em relação a tabela, eu criei uma tabela usando TableModel, e coloquei o método
public boolean isCellEditable(int row, int col){
return true;
}
como true, ou seja eu posso alterar uma coluna, quando clico para alterar eu consigo selecionar e alterar mas não que saio daquela coluna ou clico em enter, saí normal mas volta o valor de antes,ou seja se tem na coluna o nome MARCO e quero colocar MARCO AURÈLIO, coloco normal mas na hora que saio da coluna volta para MARCO
o que pode estar acontecendo?
Abaixo TableModel código:
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package br.com.pdv.tablemodels;
import br.com.pdv.beans.Cliente;
import java.util.ArrayList;
import java.util.List;
import javax.swing.table.AbstractTableModel;
/**
*
* @author fernegao
*/
public class ClienteTableModel extends AbstractTableModel{
private List<Cliente> listaProdutos;
private String[] colunas = {"Código","Nome","Endereço","Bairro","Cidade","Estado","RG","CPF","Telefone","Celular","Email","Data de Nascimento"};
public ClienteTableModel(){
listaProdutos = new ArrayList<Cliente>();
}
public ClienteTableModel(List<Cliente> lista){
this();
listaProdutos.addAll(lista);
}
@Override
public int getRowCount() {
return listaProdutos.size();
}
@Override
public int getColumnCount() {
return colunas.length;
}
public String getColumnName(int column){
if(colunas[column] == "Código"){
return "Código";
}else if(colunas[column] == "Nome"){
return "Nome";
}else if(colunas[column] == "Endereço"){
return "Endereço";
}else if(colunas[column] == "Bairro"){
return "Bairro";
}else if(colunas[column] == "Cidade"){
return "Cidade";
}else if(colunas[column] == "Estado"){
return "Estado";
}else if(colunas[column] == "RG"){
return "RG";
}else if(colunas[column] == "CPF"){
return "CPF";
}else if(colunas[column] == "Telefone"){
return "Telefone";
}else if(colunas[column] == "Celular"){
return "Celular";
}else if(colunas[column] == "Email"){
return "Email";
}else if(colunas[column] == "Data de Nascimento"){
return "Data de Nascimento";
}
return new String();
}
public Class getColumnClass(int column){
//private String[] colunas = {" ","Data","Hora","Aviso","Terminal","Usuário"};
if(colunas[column] == "Código"){
return Integer.class;
}else if(colunas[column] == "Nome"){
return String.class;
}else if(colunas[column] == "Endereço"){
return String.class;
}else if(colunas[column] == "Bairro"){
return String.class;
}else if(colunas[column] == "Cidade"){
return String.class;
}else if(colunas[column] == "Estado"){
return String.class;
}else if(colunas[column] == "RG"){
return String.class;
}else if(colunas[column] == "CPF"){
return String.class;
}else if(colunas[column] == "Telefone"){
return String.class;
}else if(colunas[column] == "Celular"){
return String.class;
}else if(colunas[column] == "Email"){
return String.class;
}else if(colunas[column] == "Data de Nascimento"){
return String.class;
}
return String.class;
}
@Override
public Object getValueAt(int rowIndex, int columnIndex) {
Cliente p = listaProdutos.get(rowIndex);
switch(columnIndex){
case 0: return p.getCodigo();
case 1: return p.getNome();
case 2: return p.getEndereço();
case 3: return p.getBairro();
case 4: return p.getCidade();
case 5: return p.getEstado();
case 6: return p.getRg();
case 7: return p.getCpf();
case 8: return p.getTelefone();
case 9: return p.getCelular();
case 10: return p.getEmail();
case 11: return p.getDatanasc();
default: return new String();
}
}
public boolean isCellEditable(int row, int col){
return true;
}
public void updateRow(Cliente p, int row){
listaProdutos.set(row, p);
fireTableDataChanged();
}
public void removeRow(int row){
listaProdutos.remove(row);
fireTableDataChanged();
}
public Cliente getProduto(int row){
return listaProdutos.get(row);
}
}