Pegar lista da Jtable

2 respostas
F

Gente como faço para pegar uma lista do Jtable por exemplo ela ja vem populada… queria pegar essa lista dele, como faço?

segue meu metodo…

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package apontamento.beans;

import apontamento.control.Controlar_RemoverCarregamento;
import java.util.ArrayList;
import javax.swing.table.AbstractTableModel;

/**
 *
 * @author felipe.campos
 */
public class ListaRemoverCarregamentoTModel extends AbstractTableModel {
    ArrayList lista = new  ArrayList();
    
    Controlar_RemoverCarregamento ctlremov;
    
    public  ListaRemoverCarregamentoTModel() {
        ctlremov = new Controlar_RemoverCarregamento();
        for (int i = 0;i<3;i++) {        
            RemoverCarregamento carreg = new RemoverCarregamento();
            lista.add(carreg);\\ queria pegar esta lista, pois quando eu set o MODEL ela ja vem com essa lista como posso fazer gente??
        }
    }
    public ListaRemoverCarregamentoTModel (ArrayList codigo){
        lista = codigo;
        
    }
    /*
    public  ListaRemoverCarregamentoTModel(ArrayList lista_) {
        ArrayList ls = new ArrayList();
        RemoverCarregamento carreg = new RemoverCarregamento();
        if (!lista_.isEmpty()) {
            for (int i = 0;i<lista_.size();i++) {
                carreg = (RemoverCarregamento) lista_.get(i);
                if (carreg.getStatus() != null) {
                    ls.add(lista_.get(i));
                }
            }
        }
        lista = ls;
        carreg = new RemoverCarregamento();
        for (int i=lista.size();i<6;i++) {
            lista.add(carreg);
        }
    }
    */
    @Override
    public String getColumnName(int column) {
        
        String rs = "";
        switch (column) {
            
            case 0:
                rs = "Status";
                break;
            case 1:
                rs = "Plano Carga";
                break;
            case 2:
                rs = "Pedido";
                break;
            case 3:
                rs = "Cliente";
                break;
            case 4:
                rs = "Item";
                break;
            case 5:
                rs = "Qtd.Solic";
                break;
            case 6:
                rs = "Qtd.Atendida";
                break;
            default:
                rs = "";            
        }
        return rs;
    }
    
    @Override
    public Class getColumnClass(int columnIndex) {
        Class rs;
        switch (columnIndex) {
            case 0:
                rs = Boolean.class;
                break;
            case 1:
                rs = Integer.class;
                break;
            case 2:
                rs = Integer.class;
                break;
            case 3:
                rs = Integer.class;
                break;
            case 4:
                rs = String.class;
                break;
            case 5:
                rs = Float.class;
                break;
            case 6:
                rs = Float.class;
                break;
            default:
                rs = null;            
        }
        return rs;
    }
    @Override
    public int getRowCount() {
        return lista.size();
    }

    @Override
    public int getColumnCount() {
        return 7;
    }

    @Override
    public Object getValueAt(int rowIndex, int columnIndex) {
        RemoverCarregamento carreg = (RemoverCarregamento) lista.get(rowIndex);
        Object rs= "";
        switch (columnIndex) {
            case 0:
                rs = carreg.getStatus();
                break;
            case 1:
                rs = carreg.getPlano_carga();
                break;
            case 2:
                rs = carreg.getNum_pedido();
                break;
            case 3:
                rs = carreg.getCod_cliente();
                break;
            case 4:
                rs = carreg.getCod_item();
                break;
            case 5:
                rs = carreg.getQtd_solicitada();
                break;
            case 6:
                rs = carreg.getQtd_atendida();
                break;
            default:
                rs = ""; 
        }
        
        //if (columnIndex == 0)
          //  return rs;
        //else
            return rs;
                    
    }

    @Override
    public boolean isCellEditable(int rowIndex, int columnIndex) {
        boolean[] canEdit = new boolean [] {true,false,false,false,false,false,false};
        return canEdit [columnIndex];
    }
   
    public void limpaLista() {
        int i = lista.size();
        lista.clear();
        fireTableRowsDeleted(0, i - 1);
    }
    public void remove(int indice) {
        lista.remove(indice);
        fireTableRowsDeleted(indice, indice);
    }
    @Override
    public void setValueAt(Object value,int rowIndex,int columnIndex) {
        int col = 0;
        if (columnIndex == col) {
            RemoverCarregamento carreg = (RemoverCarregamento) lista.get(rowIndex);
            carreg.setStatus((Boolean) value);
        }
        fireTableDataChanged();
    }
  
}

2 Respostas

Nicolas_Fernandes

Porque não faz um método get da lista?public List<Classe> getTableData() { return lista; }

ViniGodoy

Evite os casts, mude o seu ArrayList para:

List&lt;RemoverCarregamento&gt; lista = new ArrayList&lt;RemoverCarregamento&gt;();

Quanto a sua dúvida, a resposta do post anterior está certa. Basta fazer um get mesmo.

Criado 18 de abril de 2013
Ultima resposta 18 de abr. de 2013
Respostas 2
Participantes 3