Ola pessoal, optei por criar um table model próprio ao usar os que já existem, pois eu preciso apenas para um programa básico para calcular hora extra.
Eu já consegui popular minha tabela com todos os itens do banco de dados, porém não estou conseguindo usar direto o método setValueAt().
Abaixo segue o meu código:
package hora.extra.models;
import java.sql.Time;
import java.util.ArrayList;
import java.util.List;
import javax.swing.table.AbstractTableModel;
import hora.extra.beans.Hora;
public class HoraTableModel extends AbstractTableModel {
private List<Hora> linhas;
private String[] colunas = {"Dia", "Entrada Manhã", "Saída Manhã", "Entrada Tarde", "Saida Tarde", "Entrada Extra", "Saída Extra"};
public HoraTableModel() {
}
//Cria o Table Model com uma lista especifica
public HoraTableModel(List<Hora> listaHora) {
this.linhas = new ArrayList<Hora>(listaHora);
}
@Override
public int getColumnCount() {
return colunas.length; //Retorna a quantidade de colunas
}
@Override
public int getRowCount() {
return linhas.size(); //Retorna o número de linhas da tabela
}
//Retorna o valor de determinado índice
@Override
public Object getValueAt(int rowIndex, int columnIndex) {
Hora hora = linhas.get(rowIndex);
switch (columnIndex) {
case 0: return hora.getDia();
case 1: return hora.getHoraEntradaManha();
case 2: return hora.getHoraSaidaManha();
case 3: return hora.getHoraEntradaTarde();
case 4: return hora.getHoraSaidaTarde();
case 5: return hora.getHoraEntradaExtra();
case 6: return hora.getHoraSaidaExtra();
default: throw new IndexOutOfBoundsException("Coluna Index Out Of Bounds");
}
}
public void setValueAt(Time aValue, int rowIndex, int columnIndex) {
}
public String getColumnName(int columnIndex) {
return colunas[columnIndex];
};
public boolean isCellEditable(int rowIndex, int colIndex) {
return true;
}
}
Alguma dica?