Bom dia galera, estou com um pequeno probleminha usando um TableModel editado, segue o código:
public class TableModelPedido extends AbstractTableModel {
private static final long serialVersionUID = 1L;
private List<Pedido> array;
private String[] colunas = new String[] {"CRACHA","NOME FUNCIONÁRIO","EMPRESA","FEREIÇÃO","CAFÉ DA MANHÃ","DATA"};
public TableModelPedido() {
array = new ArrayList<Pedido>();
}
public TableModelPedido(List<Pedido> pedidos) {
this();
array.addAll(pedidos);
}
@Override
public Class<?> getColumnClass(int columnIndex) {
return String.class;
}
@Override
public int getColumnCount() {
return colunas.length;
}
@Override
public String getColumnName(int columnIndex) {
return colunas[columnIndex];
}
@Override
public int getRowCount() {
return array.size();
}
@Override
public Object getValueAt(int rowIndex, int columnIndex) {
Pedido pedido = array.get(rowIndex);
switch (columnIndex) {
case 0:
return pedido.getIdFuncionario(); // CRACHA
case 1:
return pedido.getFuncionario(); // NOME FUNCIONARIO
case 2:
return pedido.getEmpresa(); // EMPRESA
case 3:
return pedido.getRefeicao(); // REFEIÇAO
case 4:
return pedido.getCafeDaManha(); // CAFE DA MANHA
case 5:
return pedido.getData(); // DATA
default:
return null;
}
}
@Override
public void setValueAt(Object valor, int rowIndex, int columnIndex) {
Pedido pedido = array.get(rowIndex);
switch (columnIndex) {
case 0:
pedido.setIdFuncionario(valor.toString());
break;
case 1:
pedido.setFuncionario(valor.toString());
break;
case 2:
pedido.setEmpresa(valor.toString());
break;
case 3:
pedido.setRefeicao(valor.toString());
break;
case 4:
pedido.setCafeDaManha(valor.toString());
break;
case 5:
pedido.setData(valor.toString());
break;
}
fireTableCellUpdated(rowIndex, columnIndex);
}
public void setValueAt(Pedido valor, int rowIndex) {
Pedido pedido = array.get(rowIndex); // CARREGA ITEM DA LINHA QUE DEVE SER ALTERADA
pedido.setIdFuncionario(valor.getIdFuncionario());
pedido.setFuncionario(valor.getFuncionario());
pedido.setEmpresa(valor.getEmpresa());
pedido.setRefeicao(valor.getRefeicao());
pedido.setCafeDaManha(valor.getCafeDaManha());
pedido.setData(valor.getData());
fireTableCellUpdated(rowIndex, 0);
fireTableCellUpdated(rowIndex, 1);
fireTableCellUpdated(rowIndex, 2);
fireTableCellUpdated(rowIndex, 3);
fireTableCellUpdated(rowIndex, 4);
fireTableCellUpdated(rowIndex, 5);
}
public void adiciona(Pedido pedido) {
array.add(pedido);
fireTableRowsInserted(array.size() - 1, array.size() - 1);
}
public void addPedido(Pedido item) {
// ADICIONA O REGISTRO
array.add(item);
int ultimoIndice = getRowCount() - 1;
fireTableRowsInserted(ultimoIndice, ultimoIndice);
}
public void remove(int indice) {
array.remove(indice);
fireTableRowsDeleted(indice, indice);
}
public int getIndice(Pedido pedido) {
return array.indexOf(pedido);
}
public void adicionaLista(List<Pedido> lista) {
int i = array.size();
array.addAll(lista);
fireTableRowsInserted(i, i + lista.size());
}
public void limpaLista() {
int i = array.size();
array.clear();
fireTableRowsDeleted(0, i - 1);
}
Não estou conseguindo fazer mostrar o nome das colunas e gostaria de saber como faço para alterar o tamanho da colunas (largura).