Jtable + jscrollpane - Erro ao exibir itens em uma tabela

1 resposta
jaspionTI

Bom dia pessoal

estou com um problema ao preencher uma lista quando excluo um item

Assim …eu insiro os dados de uma compra em uma jtable e exibi todos os itens do carrinho a cada inserção de novo produto
os campos da tabela são:

código | nome do produto | valor unitário | qtd

O problema ocorre quando eu excluo um ítem do carrinho de compras e quero exibir novamente a listra de produtos comprados sem o carrinho .

Abaixo irei postar um link do trecho do código relacionado a este problema. Antes vou declarar os atributos e o modelo da tabela abaixo.

public final class CaixaOperacao extends javax.swing.JFrame {

public static ArrayList<Produto> listaCompras; //Lista que armazena os produtos no carrinho de compras
JTable tabela = new JTable(); //Tabela que irá listar os itens da venda
DefaultTableModel modelo = new DefaultTableModel();
static int[][] matriz = new int[CaixaOperacao.linhas][CaixaOperacao.colunas];
private static final int linhas = 4;
private static final int colunas = 2;

/**
 * Creates new form CaixaOperacao
 */
public CaixaOperacao() {
    listaCompras = new ArrayList<Produto>();
    criarTabela();
    initComponents();
    jScrollPane2.setViewportView(tabela);    

}

public void criarTabela() {

    //Criando uma tabela com um modelo previamente selecionado
    tabela = new JTable(modelo);

    //Adicioanando colunas a tabela
    modelo.addColumn("Código");
    modelo.addColumn("Nome do produto");
    modelo.addColumn("valor Unitário");
    modelo.addColumn("qtd");



    //Ajustando o tamanho das colunas
    tabela.getColumnModel().getColumn(0).setPreferredWidth(20); //Ajustando tamanho da coluna "Código"
    tabela.getColumnModel().getColumn(1).setPreferredWidth(100); //Ajustando tamanho da coluna "Nome do produto"   

}

Neste link se encontra o trecho do código a que estou me referindo

http://pastebin.com/0XRWJ6F1

Não sei o que esta acontecendo de errado

desde já agradeço a todos

1 Resposta

ViniGodoy

Por favor, edite seu post seguindo essas dicas:
http://www.guj.com.br/java/50115-voce-e-novo-no-guj-vai-criar-um-topico-e-colar-seu-codigo-fonte-leia-aqui-antes-por-favor

Você falou duas vezes que “o problema ocorre”, mas não disse qual é o problema. Assim fica muito difícil te ajudar. Lembre-se que não temos seu banco de dados, e não temos seu código completo.
Dá algum erro? O código simplesmente não funciona?

Além disso, notei que você está usando o DefaultTableModel. Não faça isso, ou será muito difícil programar um JTable. No lugar, aprenda a fazer seu próprio TableModel. Os links da minha assinatura ensinam. Pode parecer um pouco complicado a primeira vista, mas você vai ver que os códigos apresentados fazem tudo que um JTable deveria fazer (excluir, inserir, etc), e evitam que você seja obrigado a ficar sincronizando sua lista de objetos, com as colunas da tabela.

Criado 4 de fevereiro de 2012
Ultima resposta 5 de fev. de 2012
Respostas 1
Participantes 2