Glaera, olha eu aqui denovo!
Observem o código:
ArrayList dados = new ArrayList();
String[] colunas = new String[] {"NumItem","CodItem","ValItem"};
boolean [] edicao = {true,true,true};
ProdutosTableModel modelo = new ProdutosTableModel(dados, colunas, edicao);
JTable JTProdutos = new JTable(modelo);
Eu declaro isso como global em meu programa.
Aqui está a Classe ProdutosTableModel: Vejam:
[code] public class ProdutosTableModel extends AbstractTableModel{
private ArrayList linhas = null;
public String [] colunas = null;
public String[] getColunas() {return colunas;}
public ArrayList getLinhas() {return linhas;}
public void setColunas(String[] strings) {colunas = strings;}
public void setLinhas(ArrayList list) {linhas = list;}
public int getColumnCount() {return getColunas().length;}
public int getRowCount() {return getLinhas().size();}
public String[] getValor(int rowIndex) {
String [] linha = (String [])getLinhas().get(rowIndex);
return linha;
}
public Object getValueAt(int rowIndex, int columnIndex) {
String [] linha = (String [])getLinhas().get(rowIndex);
return linha[columnIndex];
}
public ProdutosTableModel(ArrayList dados, String[] colunas, boolean [] edicao){
setLinhas(dados);
setColunas(colunas);
colsEdicao = edicao;
}
private boolean [] colsEdicao;
public boolean isCellEditable(int row, int col){
return colsEdicao[col];
}
public void setValueAt(Object value, int row, int col){
String [] linha = (String [])getLinhas().get(row);
linha[col] = (String)value;
fireTableCellUpdated(row,col);
}
public void addRow( String [] dadosLinha){
JTProdutos.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
getLinhas().add(dadosLinha);
int linha = getLinhas().size()-1;
fireTableRowsInserted(linha,linha);
return;
}
public void removeRow(int row){
getLinhas().remove(row);
fireTableRowsDeleted(row,row);
}
}[/code]
O Problema, é que os nomes das colunas que declarei lá em cima, como globais: String[] colunas = new String[] {"NumItem","CodItem","ValItem"};
Não aparecem por nada, creio que por Default ele está jogando A,B,C…alguém sabe me dizer o porque disso?
Desde já, valeu! 8)