Olá amigos.
Estou precisando de mais uma ajuda aqui com uma table minha.
É o seguinte, estou tentando inserir alguns dados em tempo de execução em minha JTable.
Esse é o código do meu model:
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package Util;
import Model.SaidaPatrimonio;
import java.util.ArrayList;
import java.util.List;
import javax.swing.JOptionPane;
import javax.swing.table.AbstractTableModel;
/**
*
* @author Andre
*/
public class MyTable extends AbstractTableModel {
private List<SaidaPatrimonio> linhas;
private String[] colunas = {"Código Patrimônio","Descrição","Quantidade","Setor"};
public MyTable(){
linhas = new ArrayList<SaidaPatrimonio>();
}
@Override
public int getRowCount() {
return linhas.size();
}
@Override
public int getColumnCount() {
return colunas.length;
}
@Override
public Object getValueAt(int rowIndex, int columnIndex) {
return null;
}
@Override
public String getColumnName(int columnIndex) {
// Retorna o conteúdo do Array que possui o nome das colunas
return colunas[columnIndex];
}
public SaidaPatrimonio getSaidaPatrimonio(int indiceLinha) {
return linhas.get(indiceLinha);
}
/* Adiciona um registro. */
public void addSaida(SaidaPatrimonio s) {
// Adiciona o registro.
linhas.add(s);
//JOptionPane.showMessageDialog(null,s.getDescricaoPatrimonio());
int ultimoIndice = getRowCount()-1;
fireTableRowsInserted(ultimoIndice, ultimoIndice);
}
/* Remove a linha especificada. */
public void removeCliente(int indiceLinha) {
linhas.remove(indiceLinha);
fireTableRowsDeleted(indiceLinha, indiceLinha);
}
/* Remove todos os registros. */
public void limpar() {
linhas.clear();
fireTableDataChanged();
}
/* Verifica se este table model esta vazio. */
public boolean isEmpty() {
return linhas.isEmpty();
}
}
Esse é o método onde pego os dados que o usuário inseriu e seto meu objeto;
[code]public SaidaPatrimonio getDados(){
SaidaPatrimonio s = new SaidaPatrimonio();
String data = new SimpleDateFormat(“dd/MM/yyyy”).format(txtDataRetirada.getDate());
s.setDataRetirada(data);
s.setDescricaoPatrimonio((String)jcbDescricao.getSelectedItem());
s.setSetor((String)jcbSetor.getSelectedItem());
s.setNomePessoaPegou(txtNomePessoaPegou.getText());
s.setIdPatrimonio(Integer.parseInt(txtId.getText()));
return s;
}
public void addLine(SaidaPatrimonio s){
model.addSaida(s);
}[/code]
O objeto s está setado direitim, no controle estou chamando ele e até coloquei um JOptionPane para ver se estava setado e está tudo setado, mas o problema é que quando a JTable cria a linha ela cria a linha vazia, sem nenhum dado.
Por favor amigos, me ajudem nessa.
Abraços