Estou tentando inserir uma lista de objetos em uma Jtable usando o método “add” do TableModel, mas não consigo. Quando eu clico no botão “Adicionar”, ele adiciona uma linha em branco na tabela…
Segue o código da minha classe “TableModelPedidos”:
/*
- To change this license header, choose License Headers in Project Properties.
- To change this template file, choose Tools | Templates
- and open the template in the editor.
*/
package model;
import java.util.ArrayList;
import javax.swing.table.AbstractTableModel;
/**
*
-
@author Casa
*/
public class TableModelPedidos extends AbstractTableModel{private ArrayList lista;
private final String[] colunas = {“Pedido”, “Código”, “Descricao”, “Quantidade”, “Preço”, “Preço Total”};public TableModelPedidos(){
this.lista = new ArrayList<>();
}/**
- Retorna uma linha completa da tabela
- @param rowIndex
-
@return Pessoa
*/
public Pedidos getPessoa(int rowIndex){
return this.lista.get(rowIndex);
}
/**
-
Adiciona uma pedido na tabela (cria uma linha)
-
@param pedido
*/
public void addPedidos(Pedidos pedido){
//this.lista.add(pedido);Pedidos pedido2 = new Pedidos(“01”, “01”, “01”, 1, (double)1, (double)1);
this.lista.add(pedido2);
fireTableDataChanged();
}
/**
- Remove um pedido da tabela (remove uma linha)
-
@param rowIndex
*/
public void removePedido(int rowIndex){
this.lista.remove(rowIndex);
fireTableDataChanged();
}
/**
-
Retorna a quantidade de linhas da tabela
-
@return int
*/
@Override
public int getRowCount() {return this.lista.size();
}
/**
- Retorna o numero de colunas da tabela
-
@return int
*/
@Override
public int getColumnCount() {
return colunas.length;
}
/**
-
Retorna o valor especifico de uma celula
-
@param rowIndex
-
@param columnIndex
-
@return Object
/
@Override
public Object getValueAt(int rowIndex, int columnIndex) {
/
//switch na coluna
switch (columnIndex) {//coluna do nome da pessoa case 0: return this.lista.get(rowIndex).getNome(); //coluna da idade da pessoa case 1: return this.lista.get(rowIndex).getIdade(); default: return this.lista.get(rowIndex);
}
*/
return null;
}
@Override
public String getColumnName(int columnIndex) {
return this.colunas[columnIndex];
}
}