Não consigo inserir uma linha em uma Jtable JAVA

1 resposta
jtablejava
K

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…

1 Resposta

K

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){
      
      <a href="//this.lista.add">//this.lista.add</a>(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
      
      <em>/
      
      <a class="mention" href="/u/override">@Override</a>
      
      public Object getValueAt(int rowIndex, int columnIndex) {
      
      /</em>
      
      //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;
      
      }
      
    <a class="mention" href="/u/override">@Override</a>
    
    public String getColumnName(int columnIndex) {
    
    return this.colunas[columnIndex];
    
    }
    

}

Criado 29 de agosto de 2018
Ultima resposta 29 de ago. de 2018
Respostas 1
Participantes 1