public class TableModelAgendamento extends AbstractTableModel {
int contador = 1;
int qtdFuncionario;
private TOFuncionario[] func = new TOFuncionario[qtdFuncionario];
String coluna[] = new String[qtdFuncionario];
private List<TOItemAgendamento> dados = new ArrayList();
Date hora;
SimpleDateFormat sddf = new SimpleDateFormat("HH:mm:ss");
TOItemAgendamento itemAgenda;
TOItemAgendamento itemAgendamento;
public TableModelAgendamento(TOFuncionario[] funcionario) {
TOItemAgendamento recebeFunc;
TOFuncionario funcio;
qtdFuncionario = funcionario.length;
this.func = funcionario;
for (int i = 1; i < funcionario.length; i++) {
recebeFunc = new TOItemAgendamento();
funcio = new TOFuncionario();
funcio = func[i];
recebeFunc.getFuncionario().setNome(funcio.getNome());
}
zeraTabela();
}
public void zeraTabela() {
try {
Date data = sddf.parse("06:30:00");
Calendar horaInicial = Calendar.getInstance();
horaInicial.setTime(data);
data = sddf.parse("21:00:00");
Calendar horaFinal = Calendar.getInstance();
horaFinal.setTime(data);
while (horaInicial.before(horaFinal)) {
itemAgenda = new TOItemAgendamento();
String horai = sddf.format(horaInicial.getTime());
horaInicial.add(Calendar.MINUTE, 30);
itemAgenda.setHoraMinuto(horai);
itemAgenda.getFuncionario().setNome("");
adicionaLinha(itemAgenda);
}
} catch (Exception e) {
e.printStackTrace();
}
}
public void limpar() {
dados = new ArrayList();
fireTableDataChanged();
}
public void setDados(List<TOItemAgendamento> dados) {
this.dados = dados;
fireTableDataChanged();
}
public List<TOItemAgendamento> getDados() {
return dados;
}
public void adicionaLinha(TOItemAgendamento iagendamento) {
dados.add(iagendamento);
fireTableDataChanged();
}
public void removeLinha(int linha) {
dados.remove(linha);
fireTableDataChanged();
}
@Override
public String getColumnName(int coluna) {
TOFuncionario funcio;
for (int i = 1; i < func.length; i++) {
funcio = new TOFuncionario();
funcio = func[i];
return funcio.getNome();
}
return null;
}
@Override
public int getRowCount() {
return dados.size();
}
public TOItemAgendamento getItemCompra(int linha) {
return dados.get(linha);
}
@Override
public int getColumnCount() {
return func.length;
}
@Override
public Object getValueAt(int linha, int coluna) {
TOItemAgendamento itemAgendamento = dados.get(linha);
int i = 1;
for(int cont = 0; cont <= qtdFuncionario; cont++){
System.out.println("get valueat ");
switch (coluna) {
case 0:
return dados.get(linha).getHoraMinuto();
case Integer.SIZE:
return dados.get(linha).getHoraMinuto();
}
}
return null;
}
@Override
public void setValueAt(Object valor, int linha, int coluna) {
TOItemAgendamento itemAgendamento = dados.get(linha);
switch (coluna) {
case 0:
break;
case 1:
dados.get(linha).getFuncionario().setNome((String) valor);
break;
case 2:
dados.get(linha).getFuncionario().setNome((String) valor);
break;
case 3:
dados.get(linha).getFuncionario().setNome((String) valor);
break;
default:
JOptionPane.showMessageDialog(null, "Erro no TableModelItemCompra, coluna não esperada em setValueAt.");
}
fireTableDataChanged();
}