@gabriel_arashi escreveu:
Olá amigos, venho pedir humildemente ajuda para fazer uma pesquisa em uma Jtable que mostra dados de uma array list, em minha pesquisas na internet sobre o assunto não tenho compreendido muito bem sobre o assunto, apenas sei que tenho visto muito sobre tablemodel, tablerowsorter e muito mal sobre default table model.
Tenho um código que peguei da internet e tentei implementar no meu código, de inicio achei que funcionaria depois de fazer as devidas correções, mas infelizmente não.
Então peço uma ajuda para a correção do meu código e também uma ajuda para que eu possa entender com mais clareza sobre tal assunto que enfrento certa dificuldade, abaixo segue o código e agradeço muito desde já!
Trata-se de um programa que cadastra produtos com campos de codigo, quantidade, preço e descrição.`
public FrmProdutos() { initComponents(); try { DecimalFormat df = new DecimalFormat("R$ #,###,##0.00;-R$ #,###,##0.00"); mfPreco = new NumberFormatter(df); mfPreco.setValueClass(Double.class); DefaultFormatterFactory dffPreco = new DefaultFormatterFactory(mfPreco); txtPreco.setFormatterFactory(dffPreco); } catch (Exception ex) { JOptionPane.showMessageDialog(null, "Ocorreu um Exception na aplicação do NumberFormatter: " + ex.getMessage(), "Erro: ", JOptionPane.ERROR_MESSAGE); } } private void btnGravarActionPerformed(java.awt.event.ActionEvent evt) { int linha = tblProduto.getSelectedRow(); try { Produto produtoTemp = new Produto(); produtoTemp.setCodPro(Integer.valueOf(txtCodigo.getText())); produtoTemp.setDescricao(txtDescricao.getText()); produtoTemp.setQuantidade((Integer) spnQuantidade.getValue()); produtoTemp.setPrecoUnit((Double) txtPreco.getValue()); if (oper == Operacao.GRAVAR) { pro.add(produtoTemp); } if (oper == Operacao.EDITAR) { pro.set(linha, produtoTemp); } else { for (Produto produto : pro) { if (produtoTemp.getCodPro() == produto.getCodPro()) { produto.setDescricao(produtoTemp.getDescricao()); produto.setQuantidade(produtoTemp.getQuantidade()); produto.setPrecoUnit(produtoTemp.getPrecoUnit()); } } } btnCancelarActionPerformed(null); atualizaTabela(pro); } catch (Exception e) { JOptionPane.showMessageDialog(null, "Ocorreu um erro ao Gravar" + e.getMessage(), "Erro:", JOptionPane.ERROR_MESSAGE); } }
//duvida
private void btnPesquisaActionPerformed(java.awt.event.ActionEvent evt) { TableRowSorter sorter = new TableRowSorter(); tblProduto.setRowSorter(sorter); String texto = txtFiltro.getText(); if (texto.length() == 0) { sorter.setRowFilter(null); JOptionPane.showMessageDialog(null, "Você Deve Informar um Valor!!!", "AVISO - Erro", JOptionPane.ERROR_MESSAGE); } else { try { sorter.setRowFilter(RowFilter.regexFilter("(?i)" + texto)); } catch (Exception ex) { JOptionPane.showMessageDialog(null, "Valor Não Encontrado!!!", "AVISO - Erro", JOptionPane.ERROR_MESSAGE); } } }
`
Mensagens: 1
Participantes: 1