<?xml version="1.0" encoding="ISO-8859-1"?>
<rss version="2.0">
	<channel>
		<title><![CDATA[Últimas mensagens do tópico "Projeto Towel: AutoFiltro em JTable"]]></title>
		<link>http://www.guj.com.br/posts/list/13.java</link>
		<description><![CDATA[Últimas mensagens enviadas no tópico "Projeto Towel: AutoFiltro em JTable"]]></description>
		<generator>JForum - http://www.jforum.net</generator>
			<item>
				<title>Projeto Towel: AutoFiltro em JTable</title>
				<description><![CDATA[ Conheçam a classe do Auto-Filtro em JTable, do projeto Towel. <br /> Funciona exatamente igual ao AutoFiltro do Excel, porém, também suporta filtro por wildcards (estilo os do DOS).<br /> <br /> Dêem uma olhada.<br /> <a class="snap_shots" href="https://github.com/MarkyVasconcelos/Towel" target="_blank" rel="nofollow">https://github.com/MarkyVasconcelos/Towel</a>]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/100793/543532/projeto-towel-autofiltro-em-jtable
</guid>
				<link>http://www.guj.com.br/prepost/100793/543532/projeto-towel-autofiltro-em-jtable
</link>
				<pubDate><![CDATA[Fri, 22 Aug 2008 10:21:41]]> GMT</pubDate>
				<author><![CDATA[ ViniGodoy]]></author>
			</item>
			<item>
				<title>AutoFiltro em JTable e TableModel prático: Baixem</title>
				<description><![CDATA[ Pena que vi isso só agora precisei disso a um tempo e acabei criando o meu.<br /> <br /> Mas o meu TableModel, TableHeader e RowFilter se baseia em Reflection.]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/100793/604112/autofiltro-em-jtable-e-tablemodel-pratico-baixem
</guid>
				<link>http://www.guj.com.br/prepost/100793/604112/autofiltro-em-jtable-e-tablemodel-pratico-baixem
</link>
				<pubDate><![CDATA[Mon, 8 Dec 2008 10:09:30]]> GMT</pubDate>
				<author><![CDATA[ Marky.Vasconcelos]]></author>
			</item>
			<item>
				<title>AutoFiltro em JTable e TableModel prático: Baixem</title>
				<description><![CDATA[ [quote=ViniGodoy]Depois de ver muita gente pedindo aqui no GUJ, decidi postar nossa classe de AutoFiltro para JTable. Funciona exatamente igual ao AutoFiltro do Excel, porém, também suporta filtro por wildcards (estilo os do DOS).<br /> <br /> Também anexei um TableModel muito mais inteligente que o DefaultTableModel. Ele se baseia num enum de colunas e já tem todas as funcionalidades que esperamos de um model (ele é muito próximo de um ArrayList).<br /> <br /> Dêem uma olhada. Aí tem também um exemplo, que escrevi para mostrar para um aluno meu como se fazia para usar.[/quote]<br /> Me desculpe por voltar nesse assunto mas eu peguei seu código e não consegui colocar ele na minha tabela.<br /> <br /> Tenho um AbstractTabelModel com os seguintes tipos de colunas:<br /> [code]public class FinanceiroTableModel extends AbstractTableModel implements TableModelListener {<br /> <br />     public static String[] TOOLTIP = {<br />         "Selecionar para fazer uma ação na linha",<br />         "Situação do lançamento",<br />         "Data de emissão do documento",<br />         "Data de vencimento do documento",<br />         "Descrição do lançamento",<br />         "Número do documento utilizado",<br />         "Valor lançado no documento",<br />         "",<br />         "", "", "", "", "", "", ""};<br />     private static final String[] NOME_COLUNA = new String[]{<br />         "",<br />         "Status",<br />         "Emissão",<br />         "Vencimento",<br />         "Descrição",<br />         "No. Doc",<br />         "Valor",<br />         "Observação",<br />         "Tipo",<br />         "Conta",<br />         "Subconta",<br />         "Liquidação",<br />         "Valor Pago",<br />         "Vendedor",<br />         "Cobrança"};<br />     public static final int[] WIDTH = {20, 150, 90, 90, 350, 90, 110, 350, 30, 160, 160, 90, 110, 200, 200};<br />     private static final Class[] TIPO_COLUNA = {<br />         Boolean.class,<br />         String.class,<br />         Date.class,<br />         Date.class,<br />         String.class,<br />         Integer.class,<br />         Double.class,<br />         String.class,<br />         String.class,<br />         Conta.class,<br />         SubConta.class,<br />         Date.class,<br />         Double.class,<br />         String.class,<br />         String.class<br />     };<br />     ArrayList&lt;Financeiro&gt; lista;<br />     JTable table;<br /> <br />     public FinanceiroTableModel(JTable table) {<br />         this.table = table;<br />         this.lista = new ArrayList&lt;Financeiro&gt;();<br />     }<br /> <br />     public FinanceiroTableModel(ArrayList&lt;Financeiro&gt; lista) {<br />         this.lista = lista == null ? new ArrayList&lt;Financeiro&gt;() : lista;<br />     }<br /> ...[/code]<br /> <br /> Na view:<br /> [code]        FinanceiroTableModel modelo = new FinanceiroTableModel(tabela);<br />         tabela.setModel(modelo);<br />         TableColumnModel cm = tabela.getColumnModel();<br />         for (int i = 0; i &lt; FinanceiroTableModel.WIDTH.length; i++) {<br />             cm.getColumn(i).setPreferredWidth(FinanceiroTableModel.WIDTH[i]);<br />         }<br />         //Lib.setHeaderTabela(tabela);<br />         cm.getColumn(5).setCellRenderer(new IntegerRenderer());<br />         cm.getColumn(6).setCellRenderer(new MoneyRenderer());<br />         cm.getColumn(12).setCellRenderer(new MoneyRenderer());<br /> <br />         JTextField textField = new JTextField();<br />         textField.setBorder(BorderFactory.createEmptyBorder());<br />         DefaultCellEditor editor = new DefaultCellEditor(textField);<br />         editor.setClickCountToStart(1);<br />         cm.getColumn(4).setCellEditor(new StringActionTableCellEditor(editor));<br />         cm.getColumn(7).setCellEditor(new StringActionTableCellEditor(editor));<br /> ...[/code]<br /> Será que você poderia me dar uma dica como eu posso usar esse seu Filtro na minha tabela?<br /> ]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/100793/735560/autofiltro-em-jtable-e-tablemodel-pratico-baixem
</guid>
				<link>http://www.guj.com.br/prepost/100793/735560/autofiltro-em-jtable-e-tablemodel-pratico-baixem
</link>
				<pubDate><![CDATA[Mon, 31 Aug 2009 16:09:52]]> GMT</pubDate>
				<author><![CDATA[ javer]]></author>
			</item>
			<item>
				<title>Re:AutoFiltro em JTable e TableModel prático: Baixem</title>
				<description><![CDATA[ Por que seu model tem uma referência à tabela? Essa referência não deveria existir! =o<br /> <br /> [code]<br /> FinanceiroTableModel modelo = new FinanceiroTableModel(tabela);  <br /> TableFilter filtro = new TableFilter(tabela.getTableHeader(), modelo);<br /> tabela.setModel(filtro);  <br /> [/code]<br /> <br /> É bom guardar a variável do filtro em uma propriedade, já que você precisará dela para converter as linhas da view na linha do model, e vice-versa.<br /> ]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/100793/735566/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</guid>
				<link>http://www.guj.com.br/prepost/100793/735566/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</link>
				<pubDate><![CDATA[Mon, 31 Aug 2009 16:15:06]]> GMT</pubDate>
				<author><![CDATA[ ViniGodoy]]></author>
			</item>
			<item>
				<title>Re:AutoFiltro em JTable e TableModel prático: Baixem</title>
				<description><![CDATA[ [quote=ViniGodoy]Por que seu model tem uma referência à tabela? Essa referência não deveria existir! =o<br /> <br /> [code]<br /> FinanceiroTableModel modelo = new FinanceiroTableModel(tabela);  <br /> TableFilter filtro = new TableFilter(tabela.getTableHeader(), modelo);<br /> tabela.setModel(filtro);  <br /> [/code]<br /> <br /> É bom guardar a variável do filtro em uma propriedade, já que você precisará dela para converter as linhas da view na linha do model, e vice-versa.<br /> [/quote]<br /> <br /> Tenho uma referência a tabela porque tenho esse método aqui:<br /> [code]    public void tableChanged(TableModelEvent e) {<br />         if (e.getType() == TableModelEvent.UPDATE) {<br />             int column = e.getColumn();<br />             int row = e.getFirstRow();<br />             table.setColumnSelectionInterval(column + 1, column + 1);<br />             table.setRowSelectionInterval(row, row);<br />         }<br />     }<br /> [/code]<br /> <br /> Esse filtro na verdade apenas reordena as linhas da tabela?<br /> ]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/100793/735583/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</guid>
				<link>http://www.guj.com.br/prepost/100793/735583/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</link>
				<pubDate><![CDATA[Mon, 31 Aug 2009 16:26:25]]> GMT</pubDate>
				<author><![CDATA[ javer]]></author>
			</item>
			<item>
				<title>Re:AutoFiltro em JTable e TableModel prático: Baixem</title>
				<description><![CDATA[ Ele reordena e filtra.<br /> <br /> O problema é que você passa a ter dois índices, e isso provavelmente irá quebrar seu método.<br /> <br /> Um deles é o que o tablefilter está exibindo, o outro é o do seu model. O tablefilter tem métodos para converter um índice no outro.]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/100793/735588/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</guid>
				<link>http://www.guj.com.br/prepost/100793/735588/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</link>
				<pubDate><![CDATA[Mon, 31 Aug 2009 16:32:47]]> GMT</pubDate>
				<author><![CDATA[ ViniGodoy]]></author>
			</item>
			<item>
				<title>Re:AutoFiltro em JTable e TableModel prático: Baixem</title>
				<description><![CDATA[ [quote=ViniGodoy]Por que seu model tem uma referência à tabela? Essa referência não deveria existir! =o<br /> <br /> [code]<br /> FinanceiroTableModel modelo = new FinanceiroTableModel(tabela);  <br /> TableFilter filtro = new TableFilter(tabela.getTableHeader(), modelo);<br /> tabela.setModel(filtro);  <br /> [/code]<br /> <br /> É bom guardar a variável do filtro em uma propriedade, já que você precisará dela para converter as linhas da view na linha do model, e vice-versa.<br /> [/quote]<br /> <br /> Quando eu uso meu AbastractTableModel:[code]FinanceiroTableModel modelo = new FinanceiroTableModel(tabela);<br /> tabela.setModel(modelo);<br /> TableColumnModel cm = tabela.getColumnModel();<br /> for (int i = 0; i &lt; FinanceiroTableModel.WIDTH.length; i++) {<br />     cm.getColumn(i).setPreferredWidth(FinanceiroTableModel.WIDTH[i]);<br /> }<br /> cm.getColumn(5).setCellRenderer(new IntegerRenderer());<br /> cm.getColumn(6).setCellRenderer(new MoneyRenderer());<br /> cm.getColumn(12).setCellRenderer(new MoneyRenderer());<br /> <br /> JTextField textField = new JTextField();<br /> textField.setBorder(BorderFactory.createEmptyBorder());<br /> DefaultCellEditor editor = new DefaultCellEditor(textField);<br /> editor.setClickCountToStart(1);<br /> cm.getColumn(4).setCellEditor(new StringActionTableCellEditor(editor));<br /> cm.getColumn(7).setCellEditor(new StringActionTableCellEditor(editor));<br /> <br /> ...<br /> //======= Adicionando uma linha no modelo<br /> ArrayList&lt;Financeiro&gt; lista1 = new ArrayList&lt;Financeiro&gt;();<br /> FinanceiroTableModel modelo = (FinanceiroTableModel) tabelaContaPagarReceber.getModel();<br /> Financeiro item1 = new Financeiro();<br /> item1.setCodigo(1);<br /> item1.setStatus(&quot;LIQUIDADO&quot;);<br /> item1.setDataEmissao(new Date());<br /> item1.setDataVencimento(new Date());<br /> item1.setDescricao(&quot;COPOLA&quot;);<br /> item1.setNumeroDocumento(1001);<br /> item1.setValor(10.00);<br /> item1.setObservacao(&quot;&quot;);<br /> item1.setTipoDocumento(&quot;NF&quot;);<br /> item1.setConta(new Conta(1, &quot;RECEITA DE CLIENTE&quot;, 1));<br /> item1.setSubConta(new SubConta(1, 1, &quot;VENDA DE SERVIÇOS&quot;, true));<br /> item1.setDataLiquidacao(new Date());<br /> item1.setValorPagoRecebido(10.00);<br /> item1.setVendedorSolicitante(&quot;FRANCISCO&quot;);<br /> item1.setCobrançaPagamento(&quot;BRADESCO 234327483274932&quot;);<br /> lista1.add(item1);<br /> modelo.setLista(lista1);<br /> [/code]Sai com as colunas formatadas com os tamanhos que eu defini e eu consigo adicionar linhas (Financeiro) tranqüilamente:<br /> [img]http://lh3.ggpht.com/_iPEXgELGyFA/Sp2ZlNfhe8I/AAAAAAAAA2I/PuB1leb4jxA/Financeiro-1.png[/img]<br /> <br /> Agora quando eu aplico o modelo com o Filtro as colunas saem todas desconfiguradas e eu não consigo adicionar linhas:[code]FinanceiroTableModel modelo = new FinanceiroTableModel(tabela);<br /> tabela.setModel(modelo);<br /> TableColumnModel cm = tabela.getColumnModel();<br /> for (int i = 0; i &lt; FinanceiroTableModel.WIDTH.length; i++) {<br />     cm.getColumn(i).setPreferredWidth(FinanceiroTableModel.WIDTH[i]);<br /> }<br /> cm.getColumn(5).setCellRenderer(new IntegerRenderer());<br /> cm.getColumn(6).setCellRenderer(new MoneyRenderer());<br /> cm.getColumn(12).setCellRenderer(new MoneyRenderer());<br /> <br /> JTextField textField = new JTextField();<br /> textField.setBorder(BorderFactory.createEmptyBorder());<br /> DefaultCellEditor editor = new DefaultCellEditor(textField);<br /> editor.setClickCountToStart(1);<br /> cm.getColumn(4).setCellEditor(new StringActionTableCellEditor(editor));<br /> cm.getColumn(7).setCellEditor(new StringActionTableCellEditor(editor));<br /> filtroFinanceiro = new TableFilter(tabela.getTableHeader(), modelo);<br /> tabela.setModel(filtroFinanceiro);<br /> [/code]<br /> [img]http://lh5.ggpht.com/_iPEXgELGyFA/Sp2ZlSru2hI/AAAAAAAAA2M/Bh6yf0AgqIg/Financeiro-2.png[/img]<br /> <br /> [code]Exception in thread &quot;AWT-EventQueue-0&quot; java.lang.ClassCastException: util.gui.table.TableFilter cannot be cast to kmoney.lib.model.table.FinanceiroTableModel<br /> [/code]<br /> <br /> Alguma dica de como eu poderia resolver isso?]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/100793/736468/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</guid>
				<link>http://www.guj.com.br/prepost/100793/736468/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</link>
				<pubDate><![CDATA[Tue, 1 Sep 2009 19:16:44]]> GMT</pubDate>
				<author><![CDATA[ javer]]></author>
			</item>
			<item>
				<title>Re:AutoFiltro em JTable e TableModel prático: Baixem</title>
				<description><![CDATA[ Nessa linha:<br /> (FinanceiroTableModel) tabelaContaPagarReceber.getModel();  <br /> <br /> Você está tentando obter o model e fazer um cast para FinanceiroTableModel. No entanto, o model da tabela agora é um TableFilter.<br /> <br /> Eu sugiro que você guarde uma referência do seu Model e do Filter, em atributos que você tenha certeza de quem é quem. Então, evite a chamada de table.getModel e use esses atributos diretamente.]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/100793/736521/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</guid>
				<link>http://www.guj.com.br/prepost/100793/736521/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</link>
				<pubDate><![CDATA[Tue, 1 Sep 2009 21:46:18]]> GMT</pubDate>
				<author><![CDATA[ ViniGodoy]]></author>
			</item>
			<item>
				<title>Re:AutoFiltro em JTable e TableModel prático: Baixem</title>
				<description><![CDATA[ Ok, eu guardei a referência ao filtro, minha pergunta é: como eu adiciono dados a JTable?<br /> Quando eu usava o meu modelo eu tinha um método nele que recebia uma lista e atualizava o modelo e a tabela, agora nesse modelo do TableFilter eu não entendi como adicionar dados nele.<br /> <br /> ]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/100793/736612/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</guid>
				<link>http://www.guj.com.br/prepost/100793/736612/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</link>
				<pubDate><![CDATA[Wed, 2 Sep 2009 08:53:58]]> GMT</pubDate>
				<author><![CDATA[ javer]]></author>
			</item>
			<item>
				<title>Re:AutoFiltro em JTable e TableModel prático: Baixem</title>
				<description><![CDATA[ Basta adicionar dados ao seu modelo, normalmente (e não ao filtro). <br /> Por isso é importante guardar uma referência para o model e para o filtro.]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/100793/736648/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</guid>
				<link>http://www.guj.com.br/prepost/100793/736648/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</link>
				<pubDate><![CDATA[Wed, 2 Sep 2009 09:38:22]]> GMT</pubDate>
				<author><![CDATA[ ViniGodoy]]></author>
			</item>
			<item>
				<title>Re:AutoFiltro em JTable e TableModel prático: Baixem</title>
				<description><![CDATA[ Ok, muito obrigado, funcionou como você disse, agora eu gostaria de saber porque está sendo perdida todas as minhas configurações no ColumnModel (CellRenders, CellEditor, largura das colunas)?<br /> [img]http://lh6.ggpht.com/_iPEXgELGyFA/Sp5n6L5nJpI/AAAAAAAAA2Q/OTGlOKQvqNw/Financeiro-3.png[/img]<br /> <br /> No construtor da classe TableFilter eu verifiquei as larguras das colunas e estão chegando corretamente.<br /> [code]<br />     public TableFilter(JTableHeader tableHeader, TableModel tableModel) {<br />         this.filters = new HashMap&lt;Integer, Filter&gt;();<br />         this.filteredRows = new ArrayList&lt;Integer&gt;();<br /> <br />         this.disableColumns = new TreeSet&lt;Integer&gt;();<br />         this.sortedOnlyColumn = new TreeSet&lt;Integer&gt;();<br />         this.upToDateColumns = new HashSet&lt;Integer&gt;();<br />         this.filterByColumn = new HashMap&lt;Integer, List&lt;Integer&gt;&gt;();<br /> <br />         this.header = tableHeader;<br />         <br />         // Codigo adicionado somente para verificar as larguras adicionadas previamente nas colunas<br />         TableColumnModel cm = tableHeader.getColumnModel();<br />         for (int i = 0; i &lt; cm.getColumnCount(); i++) {<br />             System.out.println("Coluna " + i + " = " + cm.getColumn(i).getWidth());<br />         }<br />         <br />         tableHeader.getColumnModel().addColumnModelListener(<br />                 new TableColumnModelAdapter() {<br /> <br />                     @Override<br />                     public void columnAdded(TableColumnModelEvent e) {<br />                         int modelIndex = header.getColumnModel().getColumn(e.getToIndex()).getModelIndex();<br />                         refreshHeader(modelIndex);<br />                     }<br />                 });<br />         setTableValues(tableHeader, tableModel);<br />     }<br /> <br /> <br /> Coluna 0 = 20<br /> Coluna 1 = 150<br /> Coluna 2 = 90<br /> Coluna 3 = 90<br /> Coluna 4 = 350<br /> Coluna 5 = 90<br /> Coluna 6 = 110<br /> Coluna 7 = 350<br /> Coluna 8 = 30<br /> Coluna 9 = 160<br /> Coluna 10 = 160<br /> Coluna 11 = 90<br /> Coluna 12 = 110<br /> Coluna 13 = 200<br /> Coluna 14 = 200<br /> [/code]]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/100793/736670/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</guid>
				<link>http://www.guj.com.br/prepost/100793/736670/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</link>
				<pubDate><![CDATA[Wed, 2 Sep 2009 09:56:09]]> GMT</pubDate>
				<author><![CDATA[ javer]]></author>
			</item>
			<item>
				<title>Re:AutoFiltro em JTable e TableModel prático: Baixem</title>
				<description><![CDATA[ Não sei, nunca vi esse comportamento. E olha que também uso colunas de tamanho diferente, etc.<br /> <br /> Não funciona nem se vc definir esses dados depois de associar o filtro?]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/100793/736683/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</guid>
				<link>http://www.guj.com.br/prepost/100793/736683/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</link>
				<pubDate><![CDATA[Wed, 2 Sep 2009 10:09:14]]> GMT</pubDate>
				<author><![CDATA[ ViniGodoy]]></author>
			</item>
			<item>
				<title>Re:AutoFiltro em JTable e TableModel prático: Baixem</title>
				<description><![CDATA[ Muito obrigado, agora funcionou, espero não mais ter que precisar te incomodar com esse assunto novamente.<br /> [code]    private void setMontaTabelaFinanceiro(JTable tabela) {<br />         modeloFinanceiro = new FinanceiroTableModel(tabela);<br />         tabela.setModel(modeloFinanceiro);<br /> <br />         filtroFinanceiro = new TableFilter(tabela.getTableHeader(), modeloFinanceiro);<br />         tabela.setModel(filtroFinanceiro);<br /> <br />         TableColumnModel cm = tabela.getColumnModel();<br />         for (int i = 0; i &lt; FinanceiroTableModel.WIDTH.length; i++) {<br />             cm.getColumn(i).setPreferredWidth(FinanceiroTableModel.WIDTH[i]);<br />         }<br />         cm.getColumn(5).setCellRenderer(new IntegerRenderer());<br />         cm.getColumn(6).setCellRenderer(new MoneyRenderer());<br />         cm.getColumn(12).setCellRenderer(new MoneyRenderer());<br /> <br />         JTextField textField = new JTextField();<br />         textField.setBorder(BorderFactory.createEmptyBorder());<br />         DefaultCellEditor editor = new DefaultCellEditor(textField);<br />         editor.setClickCountToStart(1);<br />         cm.getColumn(4).setCellEditor(new StringActionTableCellEditor(editor));<br />         cm.getColumn(7).setCellEditor(new StringActionTableCellEditor(editor));<br /> <br />         StripedTableCellRenderer.installInTable(tabela, new Color(223, 223, 223), Color.black, null, null);<br />     }[/code][img]http://lh4.ggpht.com/_iPEXgELGyFA/Sp5ugRXEBGI/AAAAAAAAA2U/VS8CFXKjY8c/Financeiro-4.png[/img]<br /> <br /> Muito obrigado mesmo.]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/100793/736698/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</guid>
				<link>http://www.guj.com.br/prepost/100793/736698/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</link>
				<pubDate><![CDATA[Wed, 2 Sep 2009 10:21:26]]> GMT</pubDate>
				<author><![CDATA[ javer]]></author>
			</item>
			<item>
				<title>Re:AutoFiltro em JTable e TableModel prático: Baixem</title>
				<description><![CDATA[ Sem problemas. Fico feliz em saber que a classe tenha funcionado num table complexo como o seu. <img src="http://www.guj.com.br/images/smilies/3b63d1616c5dfcf29f8a7a031aaa7cad.gif" border="0">]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/100793/736749/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</guid>
				<link>http://www.guj.com.br/prepost/100793/736749/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</link>
				<pubDate><![CDATA[Wed, 2 Sep 2009 11:13:42]]> GMT</pubDate>
				<author><![CDATA[ ViniGodoy]]></author>
			</item>
			<item>
				<title>Re:AutoFiltro em JTable e TableModel prático: Baixem</title>
				<description><![CDATA[ Na verdade tenho mais uma pergunta.<br /> <br /> Onde eu trato a formatação do dado adicionado naquele popUP da coluna, na imagem tem uma coluna do tipo Date que quero mostrar a data no formato: dd/MM/yyyy<br /> <br /> [img]http://lh6.ggpht.com/_iPEXgELGyFA/Sp6ZHSAKyVI/AAAAAAAAA2Y/X6rOVUIf52Y/Financeiro-5.png[/img]<br /> <br /> Eu (ainda) não consegui localizar nos código onde está sendo feito isso, e também como converter de volta quando for selecionado pelo usuário para atualizar o filtro.]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/100793/736892/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</guid>
				<link>http://www.guj.com.br/prepost/100793/736892/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</link>
				<pubDate><![CDATA[Wed, 2 Sep 2009 13:22:27]]> GMT</pubDate>
				<author><![CDATA[ javer]]></author>
			</item>
			<item>
				<title>Re:AutoFiltro em JTable e TableModel prático: Baixem</title>
				<description><![CDATA[ Na verdade, ali não trata. Aliás, é uma boa idéia. Numa dessas definir um renderer para lá.<br /> <br /> Enfim, o que fazíamos para mostrar datas era retornar o date encapsulado num tipo chamado DateView. <br /> <br /> O tipo era esse aqui:<br /> <br /> [code]import java.text.DateFormat;<br /> import java.text.SimpleDateFormat;<br /> import java.util.Calendar;<br /> import java.util.Date;<br /> <br /> public class DateView implements Comparable&lt;DateView&gt;<br /> {<br />     public static final DateView NULL = new DateView((Date) null);<br />     <br />     private Date date;<br />     private DateFormat format;<br /> <br />     public DateView(Date date)<br />     {<br />         this(date, DateFormat.getDateInstance(DateFormat.DEFAULT));<br />     }<br /> <br />     public DateView(Calendar cal)<br />     {<br />         this(cal, DateFormat.getDateInstance(DateFormat.DEFAULT));<br />     }<br /> <br />     public DateView(Date date, String format)<br />     {<br />         this(date, new SimpleDateFormat(format));<br />     }<br /> <br />     public DateView(Calendar cal, String format)<br />     {<br />         this(cal, new SimpleDateFormat(<br />                 format));<br />     }<br /> <br />     public DateView(Date date, DateFormat format)<br />     {<br />         if (format == null)<br />             throw new IllegalArgumentException("Format cannot be null!");<br /> <br />         this.date = date;<br />         this.format = format;<br />     }<br /> <br />     public DateView(Calendar cal, DateFormat format)<br />     {<br />         this(cal == null ? (Date) null : cal.getTime(), format);<br />     }<br /> <br />     public int compareTo(DateView o)<br />     {<br />         if (date == null)<br />             return o.date == null ? 0 : -1;<br />         if (o.date == null)<br />             return 1;<br /> <br />         return date.compareTo(o.date);<br />     }<br /> <br />     @Override<br />     public String toString()<br />     {<br />         if (date == null)<br />             return "";<br /> <br />         return format.format(date);<br />     }<br /> <br />     @Override<br />     public int hashCode()<br />     {<br />         return (date == null) ? 0 : toString().hashCode();<br />     }<br /> <br />     @Override<br />     public boolean equals(Object obj)<br />     {<br />         if (this == obj)<br />             return true;<br /> <br />         if (obj == null)<br />             return false;<br /> <br />         if (getClass() != obj.getClass())<br />             return false;<br /> <br />         final DateView other = (DateView) obj;<br /> <br />         return toString().equals(other.toString());<br />     }<br /> }<br /> [/code]<br /> <br /> Nada mais é do que um wrapper que retorna a Data no formato que você quiser no toString(), mas faz a comparação usando os valores de data mesmo.<br /> <br /> Aí, basta fazer seu model retornar um DateView no lugar de um Date. E no setValueAt, pegar o calendar que está associado ao DateView.]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/100793/736906/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</guid>
				<link>http://www.guj.com.br/prepost/100793/736906/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</link>
				<pubDate><![CDATA[Wed, 2 Sep 2009 13:32:58]]> GMT</pubDate>
				<author><![CDATA[ ViniGodoy]]></author>
			</item>
			<item>
				<title>Re:AutoFiltro em JTable e TableModel prático: Baixem</title>
				<description><![CDATA[ Não seria possível usar o mesmo renderer da coluna da tabela? Por exemplo: uma coluna moeda (currency) que possui um Double como tipo.<br /> <br /> Eu não entendi direito como você usa esse DateView, e também não é apenas Date, tem Double também tem Integer.]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/100793/737162/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</guid>
				<link>http://www.guj.com.br/prepost/100793/737162/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</link>
				<pubDate><![CDATA[Wed, 2 Sep 2009 17:44:29]]> GMT</pubDate>
				<author><![CDATA[ javer]]></author>
			</item>
			<item>
				<title>Re:AutoFiltro em JTable e TableModel prático: Baixem</title>
				<description><![CDATA[ Vinícius tenho que te perguntar mais uma coisa sobre esse filtro.<br /> <br /> Seguinte, preciso que um método do meu modelo (que foi passado para o [b]TableFilter[/b]) se executado apenas sobre as linhas filtradas, esse método retorna a soma dos valores em uma coluna (coluna valor a pagar).<br /> <br /> Estou guardando as referências para os atributos conforme você me indicou:<br /> [code]        modeloContasPagar = new ContasPagarTableModel(tabela);<br />         tabela.setModel(modeloContasPagar);<br /> <br />         filtroContasPagar = new TableFilter(tabela.getTableHeader(), modeloContasPagar);<br />         tabela.setModel(filtroContasPagar);<br /> [/code]<br /> <br /> Coloquei o [b]TableModelListener[/b] na tabela e estou testando pegar a soma tanto do modelo como do filtro, em nenhum dos casos o valor mudou:<br /> [code]        tabela.getModel().addTableModelListener(new TableModelListener() {<br /> <br />             public void tableChanged(TableModelEvent e) {<br />                 double valorPagar = modeloContasPagar.getValorTotalPagar();<br />                 System.out.println("=========================");<br />                 System.out.println("Valor a pagar = " + valorPagar);<br /> <br />                 valorPagar = ((ContasPagarTableModel)filtroContasPagar.getTableModel()).getValorTotalPagar();<br />                 System.out.println("Valor a pagar = " + valorPagar);<br /> <br />                 if (e.getType() == TableModelEvent.INSERT) {<br />                 } else if (e.getType() == TableModelEvent.DELETE) {<br />                 }<br />             }<br />         });<br /> [/code]<br /> <br /> Qual seria o método do filtro que eu tenho acesso as linhas filtradas?<br /> <br /> [b]Mais uma vez obrigado pelas dicas.[/b]<br /> Francisco]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/100793/756800/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</guid>
				<link>http://www.guj.com.br/prepost/100793/756800/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</link>
				<pubDate><![CDATA[Tue, 6 Oct 2009 17:29:59]]> GMT</pubDate>
				<author><![CDATA[ javer]]></author>
			</item>
			<item>
				<title>Re:AutoFiltro em JTable e TableModel prático: Baixem</title>
				<description><![CDATA[ Você acredita que só hoje vi sua dúvida? Ela ainda existe, ou conseguiu resolver?<br /> <br /> Em todo caso, você usa o método getFilteredRows(). Ele retorna um list, com o índice das linhas que foram mantidas, após o filtro.]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/100793/787247/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</guid>
				<link>http://www.guj.com.br/prepost/100793/787247/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</link>
				<pubDate><![CDATA[Mon, 30 Nov 2009 16:18:04]]> GMT</pubDate>
				<author><![CDATA[ ViniGodoy]]></author>
			</item>
			<item>
				<title>Re:AutoFiltro em JTable e TableModel prático: Baixem</title>
				<description><![CDATA[ Ahahaha, já resolvi sim, acho que foi do jeito que você indicou mesmo, mesmo assim obrigado pela resposta.<br /> <br /> Abz]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/100793/787268/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</guid>
				<link>http://www.guj.com.br/prepost/100793/787268/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</link>
				<pubDate><![CDATA[Mon, 30 Nov 2009 16:50:22]]> GMT</pubDate>
				<author><![CDATA[ javer]]></author>
			</item>
			<item>
				<title>Re:AutoFiltro em JTable e TableModel prático: Baixem</title>
				<description><![CDATA[ Boma noite ao pessoal do forum.<br /> <br /> Sou iniciante em Swing e estou penando na parte de tabelas.<br /> Baixei o exemplo do Vini mas nao consegui adaptar para uma tabela vinda do banco de dados com varias colunas.<br /> Como exemplo tenho uma tabela de Municipios que teria os campos codEstado, codigo e descricao.<br /> Minha pergunta é como implementar a enumeracao para que receba os tres valores. No exemplo é recebido somente<br /> uma &lt;String&gt;. <br /> <br /> É possivel receber um vetor (por exemplo) ou a propria classe "municipio" ? como fica a declaracao ?<br /> <br /> public enum apMunicipio implements Column&lt;String&gt; { // como fica a a substituicao do &lt;String&gt; para vincular aos campos abaixo<br />    codEstado {<br />         public Object getValue(String element) {<br />             return element;<br />         }<br />     },<br />     codigo {<br />         public Object getValue(String element) {<br />             return element;<br />         }<br />     },<br />     descricao {<br />         public Object getValue(String element) {<br />             return element;<br />         }<br />     }<br />     ;<br /> <br /> ...<br /> <br /> Obrigado]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/100793/802644/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</guid>
				<link>http://www.guj.com.br/prepost/100793/802644/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</link>
				<pubDate><![CDATA[Thu, 31 Dec 2009 19:27:37]]> GMT</pubDate>
				<author><![CDATA[ Richard Rocha]]></author>
			</item>
			<item>
				<title>Re:AutoFiltro em JTable e TableModel prático: Baixem</title>
				<description><![CDATA[ Só com uma String fica impossível. Você precisa de uma lista de Municipios, então, crie uma classe Municipio contendo os três valores e faça um Column&lt;Municipio&gt;.]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/100793/802659/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</guid>
				<link>http://www.guj.com.br/prepost/100793/802659/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</link>
				<pubDate><![CDATA[Thu, 31 Dec 2009 21:30:27]]> GMT</pubDate>
				<author><![CDATA[ ViniGodoy]]></author>
			</item>
			<item>
				<title>Re:AutoFiltro em JTable e TableModel prático: Baixem</title>
				<description><![CDATA[ Boa tarde galera!<br /> <br /> Bom eu sou novo em programação java e estou estudando esse modelo de tabela porque até então eu usava a DefaultTableModel.<br /> Mas eu não estou entendendo como eu adiciono as colunas nessa tabela.<br /> Alguem me ajude por favor!<br /> <br /> desde já agradeço]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/100793/1078819/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</guid>
				<link>http://www.guj.com.br/prepost/100793/1078819/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</link>
				<pubDate><![CDATA[Fri, 9 Jul 2010 14:01:31]]> GMT</pubDate>
				<author><![CDATA[ caceres]]></author>
			</item>
			<item>
				<title>Re:AutoFiltro em JTable e TableModel prático: Baixem</title>
				<description><![CDATA[ Você está tentando usar qual modelo? O Auto-Filtro não é um modelo, é só o filtro. <br /> Junto ali tem o ColumnTableModel, é o que você está usando? <br /> <br /> Eu recomendo que você use o ObjectTableModel, do Mark.]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/100793/1078823/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</guid>
				<link>http://www.guj.com.br/prepost/100793/1078823/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</link>
				<pubDate><![CDATA[Fri, 9 Jul 2010 14:03:09]]> GMT</pubDate>
				<author><![CDATA[ ViniGodoy]]></author>
			</item>
			<item>
				<title>Re:AutoFiltro em JTable e TableModel prático: Baixem</title>
				<description><![CDATA[ Sim, eu estou tentando usar o ColumnTableModel.<br /> <br /> Bom eu acho q eh isso, me fale se eu estiver errado.<br /> <br /> Eu tenho q criar um outro Enum implementando a classe Column&lt;String&gt;, e lah eu adiciono as colunas?<br /> <br /> outra coisa, qualquer um desses modelos funciona bem com o Hibernate?<br /> <br /> obrigado]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/100793/1078829/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</guid>
				<link>http://www.guj.com.br/prepost/100793/1078829/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</link>
				<pubDate><![CDATA[Fri, 9 Jul 2010 14:10:00]]> GMT</pubDate>
				<author><![CDATA[ caceres]]></author>
			</item>
			<item>
				<title>Re:AutoFiltro em JTable e TableModel prático: Baixem</title>
				<description><![CDATA[ Mas de qualquer forma eu vou estudar o modelo do mark.<br /> <br /> Vini eu queria uma opinião sua.<br /> <br /> Eu sou recem formado em Sistemas de Informação, eu vi java na faculdade, mais foi basico.<br /> Ai vai minha pergunta: como vcs sabem tudo isso de java, apenas estudando em livros, ou com cursos?<br /> Eu estou estudando o livro Java como Programar do Deitel e tbm o manual do Hibernate, mas tem coisas que são difíceis de entender.<br /> <br /> oq vc me sujere, para eu aprender melhor sobre java.<br /> <br /> obrigado pela atenção.]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/100793/1078840/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</guid>
				<link>http://www.guj.com.br/prepost/100793/1078840/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</link>
				<pubDate><![CDATA[Fri, 9 Jul 2010 14:27:25]]> GMT</pubDate>
				<author><![CDATA[ caceres]]></author>
			</item>
			<item>
				<title>Re:AutoFiltro em JTable e TableModel prático: Baixem</title>
				<description><![CDATA[ Oi.<br /> <br /> Fiz segundo grau Técnico em Processamento de Dados, na UFPR. Também me formei em Informática pela UTFPR. E ainda tenho pós-graduações em Jogos Digitais pela Universidade Positivo, além de 15 anos de profissão.<br /> <br /> Então, como a gente sabe tanto de java? Estudando, trabalhando e ralando pra xuxu. <img src="http://www.guj.com.br/images/smilies/3b63d1616c5dfcf29f8a7a031aaa7cad.gif" border="0"><br /> <br /> <br /> É importante não querer fazer as coisas nas coxas. Tem muita gente que se acomoda e simplesmente "faz funcionar", sem se preocupar se está ou não usando as melhores práticas, ou com manutenção futura. Se você começar a codificar sem entender o que está fazendo, está com um problema.<br /> <br /> <br /> Para usar o ColumnTableModel, você deve criar um Enum de columns da sua classe de negócio. Ela certamente não será a classe String. O model funciona perfeitamente bem com Hibernate.<br /> <br /> Por exemplo, qual é a sua classe de negócio que você quer exibir na tabela? Pode posta-la aqui? Se for uma tabela de clientes, a classe provavelmente será Cliente. Se for de produtos, será Produto. Enfim, que classe vc quer exibir na tabela?<br /> <br /> ]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/100793/1078852/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</guid>
				<link>http://www.guj.com.br/prepost/100793/1078852/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</link>
				<pubDate><![CDATA[Fri, 9 Jul 2010 14:42:30]]> GMT</pubDate>
				<author><![CDATA[ ViniGodoy]]></author>
			</item>
			<item>
				<title>Re:AutoFiltro em JTable e TableModel prático: Baixem</title>
				<description><![CDATA[ Como eu estou utilizando uma classe simples apenas para estudo. Se eu entender o funcionamento basico o resto eu me viro bem.<br /> <br /> estou utilizando a classe PessoaDTO (Modelo MVC).<br /> <br /> ai esta a minha classe.<br /> <br /> package br.com.JavaHibernate.DTO;<br /> <br /> public class PessoaDTO <br /> {<br /> 	private String nome, rg, cpf, sexo;<br /> 	private int id_pessoa;<br /> <br /> 	//Metodos set's e get's ocultos.<br /> }<br /> ]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/100793/1078856/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</guid>
				<link>http://www.guj.com.br/prepost/100793/1078856/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</link>
				<pubDate><![CDATA[Fri, 9 Jul 2010 14:51:33]]> GMT</pubDate>
				<author><![CDATA[ caceres]]></author>
			</item>
			<item>
				<title>Re:AutoFiltro em JTable e TableModel prático: Baixem</title>
				<description><![CDATA[ Oi,<br /> <br /> Uma dica: quando postar código aqui no fórum, ponha entre as tags code:<br /> [code&#93;<br /> Seu código aqui<br /> [/code]<br /> <br /> Ok. Vamos fazer com sua classe simples. <br /> Embora seja apenas um DTO (você deveria fazer o model sobre as classes quentes, não sobre os DTOs).<br /> <br /> O columnTableModel trabalha com duas interfaces. A Column (para colunas read only) e a EditableColumn (para as editáveis). No caso, vamos fazer uma tabela não editável.<br /> <br /> [code]public enum PessoaColumns implements Column&lt;PessoaDTO&gt; {<br />     ID(&quot;Id&quot;) {<br />         //Esse método precisa retornar para o table o ID da pessoa<br />         public Object getValue(Pessoa p)<br />         {<br />             return p.getId();<br />         }        <br />     }, <br />     NOME(&quot;Nome&quot;) {<br />         public Object getValue(Pessoa p)<br />         {<br />             return p.getNome();<br />         }        <br />     }, <br />     RG(&quot;R.G.&quot;)  {<br />         public Object getValue(Pessoa p)<br />         {<br />             return p.getNome();<br />         }        <br />     };<br /> <br />    //Daqui para baixo, são configurações que valem para todas as colunas<br />    private final String nome;<br /> <br />    private PessoaColumns(String nome) {<br />       this.nome = nome;<br />    }<br />  <br />    public Class&lt; ? &gt; getColumnClass() {<br />         return Object.class;<br />    }<br /> <br />     public String getName() {<br />         return nome;<br />     }<br /> <br />   public TableCellRenderer getRenderer() {<br />         return null;<br />     }<br /> <br />     public int getModelIndex() {<br />         return ordinal();<br />     }<br /> <br />     public int getWidth() {<br />         return 100;<br />     }<br /> }[/code]<br /> <br /> Agora, bastaria fazer um ColumnTableModel&lt;PessoaDTO&gt; e passar as colunas desse enum para ele. E sua tabela já sairia funcionando.]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/100793/1078869/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</guid>
				<link>http://www.guj.com.br/prepost/100793/1078869/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</link>
				<pubDate><![CDATA[Fri, 9 Jul 2010 15:07:47]]> GMT</pubDate>
				<author><![CDATA[ ViniGodoy]]></author>
			</item>
			<item>
				<title>Re:AutoFiltro em JTable e TableModel prático: Baixem</title>
				<description><![CDATA[ [quote]<br /> Embora seja apenas um DTO (você deveria fazer o model sobre as classes quentes, não sobre os DTOs). <br /> [/quote]<br /> <br /> Oi, ja estou entendendo, e vou parar de tomar seu tempo ..hehehe.., mas eu soh gostaria de saber:<br /> <br /> Eu não entendi sobre classes quentes.<br /> <br /> no construtor do codigo q vc me passou, o Enum aceita apenas o modificador private e nao public como vc utilizou, posso deixar como private?<br /> <br /> obs: ate hj eu nao tinha visto um construtor private!!<br /> <br /> Porque vc me aconselha o modelo do mark (ObjectTableModel)?<br /> É melhor q esse?<br /> <br /> e eu consegui colocar as colunas na tabela. Muito obrigado mesmo pela grande ajuda.<br /> <br /> obrigado.<br /> <br /> ]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/100793/1078899/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</guid>
				<link>http://www.guj.com.br/prepost/100793/1078899/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</link>
				<pubDate><![CDATA[Fri, 9 Jul 2010 15:47:52]]> GMT</pubDate>
				<author><![CDATA[ caceres]]></author>
			</item>
			<item>
				<title>Re:AutoFiltro em JTable e TableModel prático: Baixem</title>
				<description><![CDATA[ Oi Vinny! Eu estou tentando fazer funcionar o seu modelo de TableModel mas estou tendo problemas na hora de setar as colunas..<br /> <br /> estou fazendo dessa forma:<br /> <br /> <br /> [code]<br />  public void preenche_jtable(JTable MostraTabela, String nome) throws PersistenciaException<br />     {  <br /> <br />   ArrayList lista = new ArrayList();<br />         ClienteVO cli = null;<br />        <br />         String comandoSQL = "SELECT idCliente, nCartao, nome, telefone,celular, email FROM Cliente WHERE nome LIKE '" + nome.trim() + "%' ORDER BY nome";<br /> <br />         try {<br />              PreparedStatement comando = con.getConexao().prepareStatement(comandoSQL);<br />             ResultSet rs = comando.executeQuery();<br />          //   ColumnTableModel modelo = (ColumnTableModel) MostraTabela.getModel();<br />             //modelo.setNumRows(0);<br />             while (rs.next()) {<br />                cli = new ClienteVO();<br /> <br />                 //.set(rs.get(""));<br />                 cli.setId(rs.getInt("idCliente"));<br />                 cli.setnCartao(rs.getString("nCartao"));<br />                 cli.setNome(rs.getString("nome"));<br />                 cli.setTelefone(rs.getString("telefone"));<br />                 cli.setCelular(rs.getString("celular"));<br />                 cli.setEmail(rs.getString("email"));<br />                 lista.add(cli);<br /> <br /> <br /> <br />             }<br />             comando.close();<br />            <br />            ColumnTableModel modelo = new ColumnTableModel(lista);<br />           <br />            MostraTabela.setModel(modelo); <br /> <br />         } catch (Exception ex) {<br />             throw new PersistenciaException(ex,"Erro na seleção por Nome");<br />         }<br /> }<br /> [/code]<br /> <br /> O erro que aparece é este:  "You must provide at least one column!"<br /> <br /> Eu nao estou entendendo esta parte de setar o numero de colunas...<br /> <br /> vc pode me explicar?<br /> <br /> Obrigada.]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/100793/1079481/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</guid>
				<link>http://www.guj.com.br/prepost/100793/1079481/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</link>
				<pubDate><![CDATA[Sun, 11 Jul 2010 22:41:22]]> GMT</pubDate>
				<author><![CDATA[ IsaV]]></author>
			</item>
			<item>
				<title>Re:AutoFiltro em JTable e TableModel prático: Baixem</title>
				<description><![CDATA[ Dê uma olhadinha no construtor. Ele aceita 2 parâmetros, não 1. <br /> <br /> Você deve passar para ele a definição das colunas com as quais ele vai trabalhar (veja o exemplo que dei ao caceres, na página anterior). <br /> <br /> No caso, são as que você criou naquele enum.<br /> <br /> [code]//Pegamos as colunas do enum<br /> Column&lt;ClienteVO&gt; colunas = ClienteVOColumns.values();<br /> <br /> //Passamos para o model<br /> ColumnTableModel modelo = new ColumnTableModel(lista, colunas); [/code]]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/100793/1079694/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</guid>
				<link>http://www.guj.com.br/prepost/100793/1079694/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</link>
				<pubDate><![CDATA[Mon, 12 Jul 2010 12:12:31]]> GMT</pubDate>
				<author><![CDATA[ ViniGodoy]]></author>
			</item>
			<item>
				<title>Re:AutoFiltro em JTable e TableModel prático: Baixem</title>
				<description><![CDATA[ [quote=caceres]Porque vc me aconselha o modelo do mark (ObjectTableModel)?<br /> É melhor q esse?[/quote]<br /> <br /> O do Mark é mais automático. Não exige tantas definições. Trabalha com anotações. <br /> <br /> E pode deixar o construtor private sim, era o jeito certo, eu que me enganei.<br /> <br /> <br /> De qualquer forma, ambos os modelos trabalham diretamente com sua classe de negócio, e não com aquela abominação de Vectors de Vectors de Objects que o DefaultTableModel faz. Nenhum deles exige que você use o getValueAt ou setValueAt diretamente. Sem casts, sem nada. Basta usar o get() e obter um objeto completo, do seu tipo. E o objeto terá, por exemplo, o getId() mesmo que o ID não esteja sendo exibido na tabela. <br /> <br /> Nenhum deles faz qualquer tipo de cópia desnecessária de dados, e o Default trabalha baseado em cópias. <br /> <br /> Ambos são super simples de usar, mais ainda de manter. <br /> <br /> Além disso, ambos permitem que você faça as operações básicas como remover ou adicionar objetos ao modelo. Tudo usando os tipos corretos, reduzindo chances de bugs.]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/100793/1079696/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</guid>
				<link>http://www.guj.com.br/prepost/100793/1079696/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</link>
				<pubDate><![CDATA[Mon, 12 Jul 2010 12:14:10]]> GMT</pubDate>
				<author><![CDATA[ ViniGodoy]]></author>
			</item>
			<item>
				<title>Re:AutoFiltro em JTable e TableModel prático: Baixem</title>
				<description><![CDATA[ [quote=caceres]Eu não entendi sobre classes quentes.[/quote]<br /> <br /> O DTO não é sua classe de negócio. Pelo menos, não deveria ser. Como o nome do padrão já diz é apenas um "Data Transfer Object". Uma classe que você usa para transportar dados entre camadas diferentes da sua aplicação. <br /> <br /> Se você usa-la como classe mesmo, estará criando um [url="http://www.fragmental.com.br/wiki/index.php/Evitando_VOs_e_BOs"]modelo anêmico[/url], que deve ser evitado. Eu dificilmente uso DTOs, pois na minha opinião (também) eles vão contra o próprio princípio básico de se ter OO em primeiro lugar.  Bem, esse assunto é tema [url="http://www.guj.com.br/posts/list/55388.java"]para muita discussão[/url].<br /> <br /> Quando falei em classes quentes, falei para você usar as classes de negócio mesmo dentro do model, não os DTOs.]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/100793/1079700/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</guid>
				<link>http://www.guj.com.br/prepost/100793/1079700/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</link>
				<pubDate><![CDATA[Mon, 12 Jul 2010 12:22:02]]> GMT</pubDate>
				<author><![CDATA[ ViniGodoy]]></author>
			</item>
			<item>
				<title>Re:AutoFiltro em JTable e TableModel prático: Baixem</title>
				<description><![CDATA[ [quote=caceres]Porque vc me aconselha o modelo do mark (ObjectTableModel)?<br /> É melhor q esse?[/quote]<br /> <br /> <br /> Fora isso, a unica razão de eu e Vini termos implementado um TableModel pratico é que eu construi o meu sem saber da existencia do dele, pois provavelmente eu teria usado esse também.<br /> <br /> Mas de qualquer forma.. o resultado acabou ficando mais simples mesmo.]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/100793/1079733/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</guid>
				<link>http://www.guj.com.br/prepost/100793/1079733/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</link>
				<pubDate><![CDATA[Mon, 12 Jul 2010 13:24:22]]> GMT</pubDate>
				<author><![CDATA[ Marky.Vasconcelos]]></author>
			</item>
			<item>
				<title>Re:AutoFiltro em JTable e TableModel prático: Baixem</title>
				<description><![CDATA[ Obrigado ViniGodoy e Marky. Vou estudar essas melhores praticas dialogadas.<br /> É engraçado q, eu acabei de me formar e ja vejo que algumas coisas q eu aprendi não é uma das melhores opções. (DTO's da vida).<br /> Eu só pesso um favor a quem puder ai. Mostrar algum tópico onde exemplifica o modelo de desenvolvimento em camadas sem o DTO.<br /> Pode ser em forma de UML, desenhos no paint, qualquer coisa. Mas de qualquer forma eu estou estudando toda essas "novidades". <br /> <br /> Se não for incomodar é claro.<br /> Obrigado, e vcs sao fera msm... hehehe<br /> abraço a todos]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/100793/1080020/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</guid>
				<link>http://www.guj.com.br/prepost/100793/1080020/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</link>
				<pubDate><![CDATA[Mon, 12 Jul 2010 21:47:47]]> GMT</pubDate>
				<author><![CDATA[ caceres]]></author>
			</item>
			<item>
				<title>Re:AutoFiltro em JTable e TableModel prático: Baixem</title>
				<description><![CDATA[ O problema não está na existência de DTOs, per-se. <br /> Mas os DTOs tem um propósito: servir de objetos de transporte para otimizar o uso de rede. <br /> As versões mais modernas de EJB já dispensam a existência de DTOs em boa parte dos casos.<br /> <br /> Mas, se você estudar a modelagem de objetos básica, vai ver que geralmente a lógica e os dados caminham juntos. Esse é o princípio da OO. E o que dizem os DTOs? Geralmente o contrário. Os DTOs nada mais são que agrupados de dados com gets e sets e, fora deles estão métodos para processar esses dados. <br /> <br /> Mas conjuntos de dados separados das funções que as processam tem um nome: programação estruturada. DTOs não são muito diferentes de structs, assim como objetos sem atributos não são muito diferentes de namespaces de funções.<br /> <br /> <br /> Quanto à referências, fica difícil te indicar uma assim, de bate e pronto. Mas você vai cruzar com bastante enquanto estiver estudando arquitetura. A maioria está em livros, como os do Fowler (inclusive o pattern DTO também está descrito no livro dele).<br /> <br /> <br /> Ah, removi o seu e-mail do tópico anterior. Não poste e-mails aqui na área pública do GUJ, pq os bots de internet não perderão tempo em encontra-lo e te enviar muito lixo. Lembre-se, o fórum é publico para esses programinhas maldosos de e-mail marketing também.  <img src="http://www.guj.com.br/images/smilies/8a80c6485cd926be453217d59a84a888.gif" border="0"> ]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/100793/1080026/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</guid>
				<link>http://www.guj.com.br/prepost/100793/1080026/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</link>
				<pubDate><![CDATA[Mon, 12 Jul 2010 22:02:34]]> GMT</pubDate>
				<author><![CDATA[ ViniGodoy]]></author>
			</item>
			<item>
				<title>Re:AutoFiltro em JTable e TableModel prático: Baixem</title>
				<description><![CDATA[ Bom. Por mim esta encerrado. Obrigado, desculpas em perguntar um assunto fora do tópico (AutoFiltro em JTable).<br /> Mas acho q pode ter ajudado mais pessoas tbm.<br />  <img src="http://www.guj.com.br/images/smilies/283a16da79f3aa23fe1025c96295f04f.gif" border="0"> ]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/100793/1080054/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</guid>
				<link>http://www.guj.com.br/prepost/100793/1080054/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</link>
				<pubDate><![CDATA[Mon, 12 Jul 2010 23:31:49]]> GMT</pubDate>
				<author><![CDATA[ caceres]]></author>
			</item>
			<item>
				<title>Re:AutoFiltro em JTable e TableModel prático: Baixem</title>
				<description><![CDATA[ Boa tarde.<br /> <br /> Alguém pode me informar onde eu altero as configurações da largura da coluna no JTable com o AutoFiltro (modelo do Vini), para ficar do tamanho da maior string da coluna que foi pega no banco de dados.<br /> <br /> Eu tentei analisar o post no começo desse tópico que fala sobre isso, mas não entendi.<br /> <br /> E tem como eu bloquear as colunas da tabela para que não sejam trocadas de lugar umas com as outras, com o mouse?<br /> <br /> desde já agradeço.]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/100793/1081149/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</guid>
				<link>http://www.guj.com.br/prepost/100793/1081149/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</link>
				<pubDate><![CDATA[Wed, 14 Jul 2010 15:39:37]]> GMT</pubDate>
				<author><![CDATA[ caceres]]></author>
			</item>
			<item>
				<title>AutoFiltro em JTable e TableModel prático: Baixem</title>
				<description><![CDATA[ Da um ligo nesse código que coloquei junto com meu projeto.<br /> <br /> <a class="snap_shots" href="http://code.google.com/p/markutils/source/browse/trunk/src/mark/utils/swing/table/Resizer.java" target="_blank" rel="nofollow">http://code.google.com/p/markutils/source/browse/trunk/src/mark/utils/swing/table/Resizer.java</a><br /> Só adicionei o método fitAllColumns e aproveitei o código de um amigo aqui do fórum.<br /> Ele faz o resize para o maior conteudo das celulas.]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/100793/1081158/autofiltro-em-jtable-e-tablemodel-pratico-baixem
</guid>
				<link>http://www.guj.com.br/prepost/100793/1081158/autofiltro-em-jtable-e-tablemodel-pratico-baixem
</link>
				<pubDate><![CDATA[Wed, 14 Jul 2010 15:51:32]]> GMT</pubDate>
				<author><![CDATA[ Marky.Vasconcelos]]></author>
			</item>
			<item>
				<title>Re:AutoFiltro em JTable e TableModel prático: Baixem</title>
				<description><![CDATA[ Valew Marky. Vou estuda-lo.  <img src="http://www.guj.com.br/images/smilies/283a16da79f3aa23fe1025c96295f04f.gif" border="0"> ]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/100793/1081197/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</guid>
				<link>http://www.guj.com.br/prepost/100793/1081197/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</link>
				<pubDate><![CDATA[Wed, 14 Jul 2010 16:56:34]]> GMT</pubDate>
				<author><![CDATA[ caceres]]></author>
			</item>
			<item>
				<title>Re:AutoFiltro em JTable e TableModel prático: Baixem</title>
				<description><![CDATA[ É que largura de coluna é uma informação de view, não de model. O model trata dos dados. Por isso, você define largura de colunas usando o próprio objeto JTable. <img src="http://www.guj.com.br/images/smilies/8a80c6485cd926be453217d59a84a888.gif" border="0">]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/100793/1081221/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</guid>
				<link>http://www.guj.com.br/prepost/100793/1081221/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</link>
				<pubDate><![CDATA[Wed, 14 Jul 2010 17:30:04]]> GMT</pubDate>
				<author><![CDATA[ ViniGodoy]]></author>
			</item>
			<item>
				<title>Re:AutoFiltro em JTable e TableModel prático: Baixem</title>
				<description><![CDATA[ Ah ta, eu entendi. Eu adaptei a classe q o Marky me passou e funcionou perfeitamente.<br /> Muito Obrigado.]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/100793/1081256/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</guid>
				<link>http://www.guj.com.br/prepost/100793/1081256/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</link>
				<pubDate><![CDATA[Wed, 14 Jul 2010 18:09:02]]> GMT</pubDate>
				<author><![CDATA[ caceres]]></author>
			</item>
			<item>
				<title>Re:AutoFiltro em JTable e TableModel prático: Baixem</title>
				<description><![CDATA[ Bom dia a todos. Vini estou com um caso assim. Quando eu abro uma cosulta no banco de dados, eu ja do um select * na tabela do banco que eu quero os dados e jogo no meu jtable com seu model.<br /> Dai eu to na duvida: se eu for selecionar uma linha para restaurar os dados da table para o formulario de apresentação, eu preciso fazer um outro select no banco ou tem como eu aproveitar os dados que ja foram localizados e estao em no list que eu joguei no seu modelo? - Para nao usar o getValueAt, pois nao tenho todos os atributos no table.<br /> <br /> Daí, eu pensei q já q eu ja tinha feito um select e estava com todos os dados ali na aplicação nao seria necessario refazer um novo select filtrando, mas sim filtrar na aplicação. (Sendo q antes eu fazia isso, pois era mais facil).<br /> <br /> Eu lembrei q vc citou q esse modelo nao precisa utilizar o metodo getValueAt, sendo assim, como utilizar seu modelo para resolver essa questão?<br /> <br /> obrigado.]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/100793/1092663/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</guid>
				<link>http://www.guj.com.br/prepost/100793/1092663/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</link>
				<pubDate><![CDATA[Thu, 5 Aug 2010 08:10:22]]> GMT</pubDate>
				<author><![CDATA[ caceres]]></author>
			</item>
			<item>
				<title>Re:AutoFiltro em JTable e TableModel prático: Baixem</title>
				<description><![CDATA[ Tem sim. Basta você pegar os dados a partir do seu TableModel.<br /> <br /> O auto-filtro tem um método que, baseado num valor selecionado da view, ele retorna a linha correspondente no model que está associado a ele. Você usa esse método e então pede pro TableModel o objeto, usando o método get. ]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/100793/1092668/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</guid>
				<link>http://www.guj.com.br/prepost/100793/1092668/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</link>
				<pubDate><![CDATA[Thu, 5 Aug 2010 08:32:31]]> GMT</pubDate>
				<author><![CDATA[ ViniGodoy]]></author>
			</item>
			<item>
				<title>Re:AutoFiltro em JTable e TableModel prático: Baixem</title>
				<description><![CDATA[ Ah eh verdade, eu nem lembrava q ele ja fazia isso...rsrsrsrs... Esse auto filtro eh mto bom hein... foi vc q desenvolveu ele tbm??<br /> mto obrigado.]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/100793/1092678/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</guid>
				<link>http://www.guj.com.br/prepost/100793/1092678/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</link>
				<pubDate><![CDATA[Thu, 5 Aug 2010 08:54:36]]> GMT</pubDate>
				<author><![CDATA[ caceres]]></author>
			</item>
			<item>
				<title>Re:AutoFiltro em JTable e TableModel prático: Baixem</title>
				<description><![CDATA[ [quote=caceres]Ah eh verdade, eu nem lembrava q ele ja fazia isso...rsrsrsrs... Esse auto filtro eh mto bom hein... foi vc q desenvolveu ele tbm??<br /> mto obrigado.[/quote]<br /> <br /> Sim. Eu desenvolvi o auto-filtro e o ColumnTableModel. Na verdade, não desenvolvi sozinho. Um colega do trabalho, o [url="http://www.guj.com.br/user/profile/9858.java"]pnizer[/url] do fórum, desenvolveu comigo. Ele desenvolveu a primeira versão praticamente sozinho. <br /> <br /> Quando começou a dar uns problemas, nós refizemos o filtro todo juntos (em pair programming). Não foi só um refactoring. Efetivamente sentamos, estudamos o conceito e remodelamos a classe inteira. <br /> <br /> Deu um trabalhão, mas o resultado final ficou muito bacana. <br /> <br /> <br /> O ColumnTableModel é autoria minha mesmo. Embora outro colega de trabalho, o [url="http://www.guj.com.br/posts/list/48736.java#255309"]anlugifa[/url] do fórum, também tivesse algo muito parecido nos projetos dele. Como o Column estava um pouco mais completo, nós só completamentamos com o que faltava, refatoramos para deixar um pouco mais flexível, e então chegamos a essa versão final.]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/100793/1092694/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</guid>
				<link>http://www.guj.com.br/prepost/100793/1092694/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</link>
				<pubDate><![CDATA[Thu, 5 Aug 2010 09:22:08]]> GMT</pubDate>
				<author><![CDATA[ ViniGodoy]]></author>
			</item>
			<item>
				<title>Re:AutoFiltro em JTable e TableModel prático: Baixem</title>
				<description><![CDATA[ Parabens, excelente trabalho. Obrigado.]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/100793/1092705/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</guid>
				<link>http://www.guj.com.br/prepost/100793/1092705/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</link>
				<pubDate><![CDATA[Thu, 5 Aug 2010 09:44:13]]> GMT</pubDate>
				<author><![CDATA[ caceres]]></author>
			</item>
			<item>
				<title>Re:AutoFiltro em JTable e TableModel prático: Baixem</title>
				<description><![CDATA[ Boa noite.<br /> <br /> Vini, vc poderia exemplificar esses metodos... eu verifiquei todos os metodos q existe na classe TableFilter mas nao consegui uma logica para montar isso...<br /> <br /> de inicio eu observei q tem os metodos q pegam a linha ou coluna editavel, mas eu nao sei qual eh q faz isso.<br /> <br /> te juro q tentei mto... olha a hora q eu postei aqui....rsrsrsrs...<br /> <br /> se puder me ajudar, agradeço mto...]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/100793/1093275/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</guid>
				<link>http://www.guj.com.br/prepost/100793/1093275/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</link>
				<pubDate><![CDATA[Fri, 6 Aug 2010 00:19:59]]> GMT</pubDate>
				<author><![CDATA[ caceres]]></author>
			</item>
			<item>
				<title>Re:AutoFiltro em JTable e TableModel prático: Baixem</title>
				<description><![CDATA[ Você vai fazer mais ou menos assim:<br /> <br /> [code]//Pega a linha da tabela selecionada.<br /> //É a linha na view, não no model, pois pode estar filtrado<br /> int vwSelected = suaTable.getSelectedRow();<br /> <br /> //Obtém o índice dessa linha no model<br /> int mdlSelected = tableFilter.getModelRow(vwSelected);<br /> <br /> //Pede para o model o objeto que está naquela linha<br /> SeuObjeto obj = seuTableModel.get(mdlSelected);<br /> <br /> //Chama seu método que copia os dados do objeto<br /> //para os JTextFields, JComboBoxes, etc...<br /> preencherCampos(obj);[/code]<br /> <br /> Além do getModelRow, existe também o método getModelRows. É útil para, por exemplo, quando você quiser excluir todas as linhas que estão selecionadas. ]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/100793/1093430/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</guid>
				<link>http://www.guj.com.br/prepost/100793/1093430/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</link>
				<pubDate><![CDATA[Fri, 6 Aug 2010 11:25:04]]> GMT</pubDate>
				<author><![CDATA[ ViniGodoy]]></author>
			</item>
			<item>
				<title>Re:AutoFiltro em JTable e TableModel prático: Baixem</title>
				<description><![CDATA[ Rapaiz do céu, o negócio fico bunito d+....hehehhe...<br /> Era tão simples e eu tava complicando...<br /> Eu praticamente tava tentando fazer do zero (reinventar a roda - como se diz).<br /> Eu tava pegando o list e jogando ele num outro list (para não perder os dados), e depois tentava filtrar, mais tava meio feio a coisa...<br /> <br /> valew ae Vini... abração]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/100793/1093852/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</guid>
				<link>http://www.guj.com.br/prepost/100793/1093852/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</link>
				<pubDate><![CDATA[Fri, 6 Aug 2010 20:05:17]]> GMT</pubDate>
				<author><![CDATA[ caceres]]></author>
			</item>
			<item>
				<title>AutoFiltro em JTable e TableModel prático: Baixem</title>
				<description><![CDATA[ Vini, esse exemple que vc deu ai pra fazer o FIlter da pra rodar pegando os dados vindos do banco?<br /> <br /> Abri ele aki no netbeans e ve q tem outras class, qual q class principal pra o filtro?<br /> ]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/100793/1095902/autofiltro-em-jtable-e-tablemodel-pratico-baixem
</guid>
				<link>http://www.guj.com.br/prepost/100793/1095902/autofiltro-em-jtable-e-tablemodel-pratico-baixem
</link>
				<pubDate><![CDATA[Wed, 11 Aug 2010 13:53:03]]> GMT</pubDate>
				<author><![CDATA[ habinovich]]></author>
			</item>
			<item>
				<title>AutoFiltro em JTable e TableModel prático: Baixem</title>
				<description><![CDATA[ habinovich, voce nao deveria se preocupar de onde os dados vem, e sim em como eles vão para na JTable, voce precisa estudar sobre o TableModel.]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/100793/1095920/autofiltro-em-jtable-e-tablemodel-pratico-baixem
</guid>
				<link>http://www.guj.com.br/prepost/100793/1095920/autofiltro-em-jtable-e-tablemodel-pratico-baixem
</link>
				<pubDate><![CDATA[Wed, 11 Aug 2010 14:23:18]]> GMT</pubDate>
				<author><![CDATA[ Marky.Vasconcelos]]></author>
			</item>
			<item>
				<title>AutoFiltro em JTable e TableModel prático: Baixem</title>
				<description><![CDATA[ Eu consigo pegar os dados mas n consigo e filtra-los usando uma JtextField, para deixar na tabela so os dados q forem digitados neles!]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/100793/1095937/autofiltro-em-jtable-e-tablemodel-pratico-baixem
</guid>
				<link>http://www.guj.com.br/prepost/100793/1095937/autofiltro-em-jtable-e-tablemodel-pratico-baixem
</link>
				<pubDate><![CDATA[Wed, 11 Aug 2010 14:36:44]]> GMT</pubDate>
				<author><![CDATA[ habinovich]]></author>
			</item>
			<item>
				<title>Re:AutoFiltro em JTable e TableModel prático: Baixem</title>
				<description><![CDATA[ Olá Vini,<br /> <br /> Eu estava olhando a implementação do seu ColumnTableModel e não consegui entender qual a utilidade dos seguintes métodos:<br /> [code] <br /> public static &lt;K, V&gt; ColumnTableModel&lt;Map.Entry&lt;K, V&gt;&gt; createMapModel(Map&lt;K, V&gt; map, String keyHeader, String valueHeader)<br /> <br /> public static void applyToTable(JTable table, List&lt; ? extends Column&lt; ? &gt;&gt; columns)<br /> [/code]<br /> <br /> Poderia explicá-lo um pouco mais além do descrito nos comentários? Principalmente o applyToTable(), pois eu estou querendo renderizar componentes(como um JButton e um ComboBox) numa coluna e este método me parece ser o responsável por setar o Renderer e o Editor.<br /> <br /> Eu implementei um exemplo, usando a interface EditableColumn, e consegui renderizar um JButton, porém, não sei se foi da forma correta, por dois motivos:<br /> 1º)Na minha classe de negocio(Pessoa) eu criei um atributo do tipo JButton e lá tem o método getBotao...muito estranho misturar atributos de negocio e um botão com uma ação de detalhe não acha?(rsrs)<br /> 2º)Na interface EditableColumn  tem o método getEditor()(que retorna um TableCellEditor) e tem por extends o método getRenderer()(que retorna um TableCellRenderer), mas eu não os utilizei para renderizar o JButton eu deveria usa-los? E onde eles são chamados?<br /> <br /> Eu consegui resolver a minha necessidade, mas não sei se da melhor maneira, entende. Tem alguma dica?<br /> <br /> <br /> Obrigado pela atenção.<br /> <br /> Abraços<br /> <br /> ]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/100793/1101839/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</guid>
				<link>http://www.guj.com.br/prepost/100793/1101839/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</link>
				<pubDate><![CDATA[Sun, 22 Aug 2010 21:39:04]]> GMT</pubDate>
				<author><![CDATA[ Lintz_net]]></author>
			</item>
			<item>
				<title>Re:AutoFiltro em JTable e TableModel prático: Baixem</title>
				<description><![CDATA[ Ola Vini, você poderia postar um exemplo simples de como implementar a classe EditableColumn (ao invés de Column)?<br /> <br /> Estou em duvida como implementar o método public TableCellEditor getEditor().]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/100793/1109868/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</guid>
				<link>http://www.guj.com.br/prepost/100793/1109868/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</link>
				<pubDate><![CDATA[Fri, 3 Sep 2010 14:36:18]]> GMT</pubDate>
				<author><![CDATA[ wagner_a_lima]]></author>
			</item>
			<item>
				<title>Re:AutoFiltro em JTable e TableModel prático: Baixem</title>
				<description><![CDATA[ Oi. Posso sim, mas no final de semana.<br /> <br /> Lintz, desculpe não te responder. O GUJ não me enviou um e-mail com a sua dúvida, só vi hoje. Você ainda precisa disso?]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/100793/1109885/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</guid>
				<link>http://www.guj.com.br/prepost/100793/1109885/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</link>
				<pubDate><![CDATA[Fri, 3 Sep 2010 14:48:43]]> GMT</pubDate>
				<author><![CDATA[ ViniGodoy]]></author>
			</item>
			<item>
				<title>Re:AutoFiltro em JTable e TableModel prático: Baixem</title>
				<description><![CDATA[ Segue um exemplo:<br /> <br /> [code]<br /> <br /> package pessoaSimple;<br /> <br /> <br /> public class Pessoa {<br /> 	private Integer id;<br /> 	private String nome;<br /> 	private String rg;<br /> 	public Integer getId() {<br /> 		return id;<br /> 	}<br /> 	public void setId(Integer id) {<br /> 		this.id = id;<br /> 	}<br /> 	public String getNome() {<br /> 		return nome;<br /> 	}<br /> 	public void setNome(String nome) {<br /> 		this.nome = nome;<br /> 	}<br /> 	public String getRg() {<br /> 		return rg;<br /> 	}<br /> 	public void setRg(String rg) {<br /> 		this.rg = rg;<br /> 	}<br /> <br /> }<br /> [/code]<br /> <br /> [code]<br /> package pessoaSimple;<br /> <br /> import javax.swing.JButton;<br /> import javax.swing.table.TableCellEditor;<br /> import javax.swing.table.TableCellRenderer;<br /> <br /> import util.gui.table.EditableColumn;<br /> import util.gui.table.UtilTableCellRenderer;<br /> <br /> public enum PessoaColumns implements EditableColumn&lt;Pessoa&gt;{<br /> 	ID("Id") {   <br />         //Esse método precisa retornar para o table o ID da pessoa   <br />         public Object getValue(Pessoa p)   <br />         {   <br />             return p.getId();   <br />         }<br /> <br />     },   <br />     NOME("Nome") {   <br />         public Object getValue(Pessoa p)   <br />         {   <br />             return p.getNome();   <br />         }  <br />         public boolean isEditable(Pessoa p){<br />         	return true;<br />         }<br /> <br />     },   <br />     RG("R.G.")  {   <br />         public Object getValue(Pessoa p)   <br />         {   <br />             return p.getRg();   <br />         } <br />         public boolean isEditable(Pessoa p){<br />         	return true;<br />         }<br />     };   <br />   <br />    private final String nome;<br />    <br />    //Daqui para baixo, são configurações que valem para todas as colunas<br />    private PessoaColumns(String nome) {   <br />       this.nome = nome;   <br />    }   <br />   <br />    public Class&lt; ? &gt; getColumnClass() {   <br />         return Object.class;   <br />    }   <br />   <br />     public String getName() {   <br />         return nome;   <br />     }   <br />   <br />     public TableCellRenderer getRenderer() {   <br />         return null;   <br />     }   <br />     <br />     public TableCellEditor getEditor(){<br />     	return null;<br />     }<br />   <br />     public int getModelIndex() {   <br />         return ordinal();   <br />     }   <br />   <br />     public int getWidth() {   <br />         return 300;   <br />     }   <br />     <br />     public boolean isEditable(Pessoa p){<br />     	return false;<br />     }<br />     <br />     public void setValue(Pessoa object, Object value){<br />     	<br />     }<br />     <br /> }<br /> <br /> [/code]<br /> <br /> [code]<br /> package pessoaSimple;<br /> <br /> import java.awt.BorderLayout;<br /> import java.awt.EventQueue;<br /> import java.awt.FlowLayout;<br /> <br /> import javax.swing.JButton;<br /> import javax.swing.JFrame;<br /> import javax.swing.JOptionPane;<br /> import javax.swing.JPanel;<br /> import javax.swing.JScrollPane;<br /> import javax.swing.JTable;<br /> <br /> import util.gui.table.ColumnTableModel;<br /> import util.gui.table.UtilTableCellRenderer;<br /> <br /> public class PessoaSample extends JFrame {<br /> <br /> <br />     private static final long serialVersionUID = 1L;<br />     private JPanel jContentPane = null;<br />     private JPanel pnlButtons = null;<br />     private JButton btnAdd = null;<br />     private JButton btnRemove = null;<br />     private JButton btnClose = null;<br />     private JScrollPane scrlTable = null;<br />     private JTable tblPessoa = null;<br />    // private TableFilter tableFilter;<br />     private ColumnTableModel&lt;Pessoa&gt; tableModel;<br /> <br />     public PessoaSample() {<br />         super();<br />         initialize();<br />     }<br /> <br />     private void initialize() {<br />         this.setSize(453, 304);<br />         this.setContentPane(getJContentPane());<br />         this.setTitle("JFrame");<br />         this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);<br />     }<br /> <br />     private JPanel getJContentPane() {<br />         if (jContentPane == null) {<br />             jContentPane = new JPanel();<br />             jContentPane.setLayout(new BorderLayout());<br />             jContentPane.add(getPnlButtons(), BorderLayout.SOUTH);<br />             jContentPane.add(getScrlTable(), BorderLayout.CENTER);<br />         }<br />         return jContentPane;<br />     }<br /> <br />     private JPanel getPnlButtons() {<br />         if (pnlButtons == null) {<br />             pnlButtons = new JPanel();<br />             pnlButtons.setLayout(new FlowLayout());<br />             pnlButtons.add(getBtnAdd(), null);<br />             pnlButtons.add(getBtnRemove(), null);<br />             pnlButtons.add(getBtnClose(), null);<br />         }<br />         return pnlButtons;<br />     }<br /> <br />     private JButton getBtnAdd() {<br />         if (btnAdd == null) {<br />             btnAdd = new JButton();<br />             btnAdd.setText("Add");<br />             btnAdd.addActionListener(new java.awt.event.ActionListener() {<br />                 public void actionPerformed(java.awt.event.ActionEvent e) {<br />                     onAdd();<br />                 }<br />             });<br />         }<br />         return btnAdd;<br />     }<br /> <br />     private JButton getBtnRemove() {<br />         if (btnRemove == null) {<br />             btnRemove = new JButton();<br />             btnRemove.setText("Remove");<br />             btnRemove.addActionListener(new java.awt.event.ActionListener() {<br />                 public void actionPerformed(java.awt.event.ActionEvent e) {<br />                     onRemove();<br />                 }<br />             });<br />         }<br />         return btnRemove;<br />     }<br /> <br />     private JButton getBtnClose() {<br />         if (btnClose == null) {<br />             btnClose = new JButton();<br />             btnClose.setText("Close");<br />             btnClose.addActionListener(new java.awt.event.ActionListener() {<br />                 public void actionPerformed(java.awt.event.ActionEvent e) {<br />                     System.exit(0);<br />                 }<br />             });<br />         }<br />         return btnClose;<br />     }<br /> <br />     private JScrollPane getScrlTable() {<br />         if (scrlTable == null) {<br />             scrlTable = new JScrollPane();<br />             scrlTable.setViewportView(getTblPessoa());<br />         }<br />         return scrlTable;<br />     }<br /> <br />     private JTable getTblPessoa() {<br />         if (tblPessoa == null) {<br />         	tblPessoa = new JTable();<br />             // Associe sua tabela ao table filter DEPOIS de cria-la<br />           //  tblString.setModel(getStringTableFilter());<br />         	tblPessoa.setModel(getPessoaTableModel());<br />         	<br />         	tblPessoa.setDefaultRenderer(JButton.class, UtilTableCellRenderer.getButtonRenderer());<br />         	tblPessoa.setDefaultEditor(JButton.class,  UtilTableCellRenderer.getButtonEditor());<br />         }<br />         return tblPessoa;<br />     }<br /> <br />      /**<br />      * Retorna o table model.<br />      */<br />     private ColumnTableModel&lt;Pessoa&gt; getPessoaTableModel() {<br />         if (tableModel == null) {<br />             // Esse model se comporta como um arraylist! :)<br />             tableModel = new ColumnTableModel&lt;Pessoa&gt;(PessoaColumns.values());<br />             ColumnTableModel.applyToTable(tblPessoa, PessoaColumns.values());<br />         }<br />         return tableModel;<br />     }<br /> <br />     private void onRemove() {<br />         if (getTblPessoa().getSelectedRowCount() == 0)<br />             return;<br /> <br />         // Precisamos traduzir as linhas que estamos vendo, para as linhas que<br />         // estão no<br />         // modelo. Fazemos isso usando esse método.<br />        // int[] modelRows = getStringTableFilter().getModelRows(<br />        //         getTblString().getSelectedRows());<br /> <br />         // Já fornecemos um método conveniente para esse tipo de remoção.<br />         getPessoaTableModel().remove(getTblPessoa().getSelectedRow());<br />     }<br /> <br />     private void onAdd() {<br />         String valueId= JOptionPane.showInputDialog("Entre com um id");<br />         if (valueId == null)<br />             return;<br />         <br />         String valueNome = JOptionPane.showInputDialog("Entre com um nome");<br />         if (valueNome == null)<br />             return;<br />         <br />         String valueRg = JOptionPane.showInputDialog("Entre com um RG");<br />         if (valueRg == null)<br />             return;<br />         <br />         Pessoa pessoa = new Pessoa();<br />         pessoa.setId(new Integer(valueId));<br />         <br />         pessoa.setNome(valueNome.toString());<br />         pessoa.setRg(valueRg.toString());<br />         <br />         pessoa.setAcao(new JButton());<br />         <br />         // Simplesmente adicionamos no model.<br />         getPessoaTableModel().add(pessoa);<br />     }<br /> <br />     public static void main(String[] args) {<br />         EventQueue.invokeLater(new Runnable() {<br />             public void run() {<br />                 new PessoaSample().setVisible(true);<br />             }<br />         });<br />     }<br /> <br /> <br /> }<br /> <br /> [/code]]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/100793/1109959/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</guid>
				<link>http://www.guj.com.br/prepost/100793/1109959/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</link>
				<pubDate><![CDATA[Fri, 3 Sep 2010 16:00:19]]> GMT</pubDate>
				<author><![CDATA[ Lintz_net]]></author>
			</item>
			<item>
				<title>Re:AutoFiltro em JTable e TableModel prático: Baixem</title>
				<description><![CDATA[ [quote=ViniGodoy]Oi. Posso sim, mas no final de semana.<br /> <br /> Lintz, desculpe não te responder. O GUJ não me enviou um e-mail com a sua dúvida, só vi hoje. Você ainda precisa disso?[/quote]<br /> <br /> <br /> Oi Vini,<br /> <br /> Eu já descobri... mas valeu.<br /> <br /> <br /> Abraços]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/100793/1109962/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</guid>
				<link>http://www.guj.com.br/prepost/100793/1109962/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</link>
				<pubDate><![CDATA[Fri, 3 Sep 2010 16:01:44]]> GMT</pubDate>
				<author><![CDATA[ Lintz_net]]></author>
			</item>
			<item>
				<title>Re:AutoFiltro em JTable e TableModel prático: Baixem</title>
				<description><![CDATA[ Bom dia a todos.<br /> É o meu primeiro post, espero que possa postar mais vezes.<br /> <br /> Tenho uma dúvida, Marky e ViniGodoy vocês que são mais experientes usam hibernate com estes table models para popular a tabel?<br /> Caso outras pessoas se interessarem, podem responder também, ficaria grato.<br /> <br /> <br /> <br /> [quote=ViniGodoy]Oi. Posso sim, mas no final de semana.<br /> <br /> Lintz, desculpe não te responder. O GUJ não me enviou um e-mail com a sua dúvida, só vi hoje. Você ainda precisa disso?[/quote]]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/100793/1111685/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</guid>
				<link>http://www.guj.com.br/prepost/100793/1111685/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</link>
				<pubDate><![CDATA[Wed, 8 Sep 2010 10:12:10]]> GMT</pubDate>
				<author><![CDATA[ xxxnunesxxx]]></author>
			</item>
			<item>
				<title>Re:AutoFiltro em JTable e TableModel prático: Baixem</title>
				<description><![CDATA[ [quote=xxxnunesxxx]Lintz, desculpe não te responder. O GUJ não me enviou um e-mail com a sua dúvida, só vi hoje. Você ainda precisa disso?[/quote]<br /> <br /> Os models trabalham com listas de objetos. O hibernate carrega essas listas.<br /> Então, sim, é possível interoperar um com o outro tranquilamente.]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/100793/1111692/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</guid>
				<link>http://www.guj.com.br/prepost/100793/1111692/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</link>
				<pubDate><![CDATA[Wed, 8 Sep 2010 10:15:34]]> GMT</pubDate>
				<author><![CDATA[ ViniGodoy]]></author>
			</item>
			<item>
				<title>Re:AutoFiltro em JTable e TableModel prático: Baixem</title>
				<description><![CDATA[ Muito obrigado Vini.<br /> Estou procurando no forum a respeito do assunto, caso você ou outro user guj tenha algum link que se baseou para fazer essa implementação com hibernate e puder passar, ficaria grato.<br /> <br /> <br /> <br /> [quote=ViniGodoy][quote=xxxnunesxxx]Lintz, desculpe não te responder. O GUJ não me enviou um e-mail com a sua dúvida, só vi hoje. Você ainda precisa disso?[/quote]<br /> <br /> Os models trabalham com listas de objetos. O hibernate carrega essas listas.<br /> Então, sim, é possível interoperar um com o outro tranquilamente.[/quote]]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/100793/1111927/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</guid>
				<link>http://www.guj.com.br/prepost/100793/1111927/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</link>
				<pubDate><![CDATA[Wed, 8 Sep 2010 14:06:56]]> GMT</pubDate>
				<author><![CDATA[ xxxnunesxxx]]></author>
			</item>
			<item>
				<title>AutoFiltro em JTable e TableModel prático: Baixem</title>
				<description><![CDATA[ Voce não precisa mudar nada no model para funcionar com Hibernate, voce não pode misturar essas duas coisas.<br /> <br /> Em algum lugar voce deve consultar com o hibernate os dados, pegar a List de objetos que ele retorna e passar para o model.]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/100793/1111943/autofiltro-em-jtable-e-tablemodel-pratico-baixem
</guid>
				<link>http://www.guj.com.br/prepost/100793/1111943/autofiltro-em-jtable-e-tablemodel-pratico-baixem
</link>
				<pubDate><![CDATA[Wed, 8 Sep 2010 14:28:26]]> GMT</pubDate>
				<author><![CDATA[ Marky.Vasconcelos]]></author>
			</item>
			<item>
				<title>AutoFiltro em JTable e TableModel prático: Baixem</title>
				<description><![CDATA[ Marky, muito obrigado pela respota.<br /> Gostaria de parabenizá-lo e ao Vini, pelos projetos referentes ao JTable, é muita dor de cabeça para quem inicia.<br /> <br /> Irei buscar mais informação sobre o assunto, quando implementar, posto o agradecimento.<br /> <br /> <br /> [quote=Marky.Vasconcelos]Voce não precisa mudar nada no model para funcionar com Hibernate, voce não pode misturar essas duas coisas.<br /> <br /> Em algum lugar voce deve consultar com o hibernate os dados, pegar a List de objetos que ele retorna e passar para o model.[/quote]]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/100793/1112000/autofiltro-em-jtable-e-tablemodel-pratico-baixem
</guid>
				<link>http://www.guj.com.br/prepost/100793/1112000/autofiltro-em-jtable-e-tablemodel-pratico-baixem
</link>
				<pubDate><![CDATA[Wed, 8 Sep 2010 15:19:16]]> GMT</pubDate>
				<author><![CDATA[ xxxnunesxxx]]></author>
			</item>
			<item>
				<title>Re:AutoFiltro em JTable e TableModel prático: Baixem</title>
				<description><![CDATA[ ola Vini<br /> <br /> kara vi q tu manda bem em table<br /> <br /> kara to tentando implementar uma table com um combobox, vc por acaso teria um exemplo funcionando ? <br /> <br /> pq todos os exemplos que achei a combo não fica selecionada o item que eu escolhi, sempre volta para o inicio <br /> <br /> abc  <br /> ]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/100793/1129096/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</guid>
				<link>http://www.guj.com.br/prepost/100793/1129096/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</link>
				<pubDate><![CDATA[Wed, 6 Oct 2010 12:29:52]]> GMT</pubDate>
				<author><![CDATA[ bruxel]]></author>
			</item>
			<item>
				<title>Re:AutoFiltro em JTable e TableModel prático: Baixem</title>
				<description><![CDATA[ Que tal criar um tópico sobre o assunto ao invés de pegar carona nesse, ou enviar MP?]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/100793/1129115/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</guid>
				<link>http://www.guj.com.br/prepost/100793/1129115/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</link>
				<pubDate><![CDATA[Wed, 6 Oct 2010 13:21:08]]> GMT</pubDate>
				<author><![CDATA[ ViniGodoy]]></author>
			</item>
			<item>
				<title>Re:AutoFiltro em JTable e TableModel prático: Baixem</title>
				<description><![CDATA[ ViniGodoy,<br /> <br /> Pelo que tenho notado vc e o Mark são referência quando o assunto é JTable! (minha opinão)<br /> Então, por que não fazer um artigo mostrado as boas práticas da JTable (que considero o componente mais complexo do swing), este artigo poderia mostrar e solucionar os erros mais frequentes postados no forum e assim juntar tudo em um unico documento.<br /> <br /> Imagine os benefícios que seria para os desenvolvedores iniciantes e até mesmo pra vc, servir de referencia quando o assunto é JTable. Além disso, com este suposto artigo poderiamos referencia-lo sempre que alguém entrar no forum peguntando sobre JTable. Q tal?<br /> <br /> Claro entendo que nisso tudo existe a questão do tempo. [b]Por isso fica a dica.[/b]<br /> ]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/100793/1131071/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</guid>
				<link>http://www.guj.com.br/prepost/100793/1131071/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</link>
				<pubDate><![CDATA[Sat, 9 Oct 2010 14:37:45]]> GMT</pubDate>
				<author><![CDATA[ hvivox]]></author>
			</item>
			<item>
				<title>Re:AutoFiltro em JTable e TableModel prático: Baixem</title>
				<description><![CDATA[ Ola!<br /> <br /> Gostaria de colocar um JButton em uma das minhas colunas sei (pelo menos acho) que tenho que sobrescrever o método getRenderer() só não sei como! <br /> <br /> Sendo mais preciso a minha duvida é como ficaria o método getRenderer() para asseitar JButton. (se não é pedir muito)<br /> <br /> se for pelo menos me indicam algum material que ensine a criar um objeto TableCellRenderer para que eu consiga pelo menos tetar sobrscrever<br /> <br /> até!]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/100793/1131918/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</guid>
				<link>http://www.guj.com.br/prepost/100793/1131918/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</link>
				<pubDate><![CDATA[Tue, 12 Oct 2010 02:24:50]]> GMT</pubDate>
				<author><![CDATA[ InSeOfKn]]></author>
			</item>
			<item>
				<title>Re:AutoFiltro em JTable e TableModel prático: Baixem</title>
				<description><![CDATA[ Oi. Crie um tópico para a dúvida.]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/100793/1131957/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</guid>
				<link>http://www.guj.com.br/prepost/100793/1131957/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</link>
				<pubDate><![CDATA[Tue, 12 Oct 2010 10:48:30]]> GMT</pubDate>
				<author><![CDATA[ ViniGodoy]]></author>
			</item>
			<item>
				<title>Re:AutoFiltro em JTable e TableModel prático: Baixem</title>
				<description><![CDATA[ [quote=ViniGodoy]Oi. Crie um tópico para a dúvida.[/quote]<br /> <br /> Ok. Desculpa por postar no lugar errado é que sou novo por aqui!<br /> <br /> até!]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/100793/1132030/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</guid>
				<link>http://www.guj.com.br/prepost/100793/1132030/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</link>
				<pubDate><![CDATA[Tue, 12 Oct 2010 15:11:11]]> GMT</pubDate>
				<author><![CDATA[ InSeOfKn]]></author>
			</item>
			<item>
				<title>Re:AutoFiltro em JTable e TableModel prático: Baixem</title>
				<description><![CDATA[ Vini, esse seu modelo tem algum método que me retorna a lista da forma que o usúario ordenou?<br /> <br /> Pois eu preciso gerar um relatório em PDF (utilizei o IReport) dos dados ordenados no meu jtable. Então eu preciso passar esse parâmetro na hora que eu for mandar gerar.<br /> <br /> Se minha dúvida for caso de abrir um novo tópico me avise por favor. Eu ainda não sei mto bem onde colocar minhas dúvidas.<br /> <br /> Obrigado desde já.]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/100793/1134990/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</guid>
				<link>http://www.guj.com.br/prepost/100793/1134990/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</link>
				<pubDate><![CDATA[Mon, 18 Oct 2010 02:39:47]]> GMT</pubDate>
				<author><![CDATA[ caceres]]></author>
			</item>
			<item>
				<title>Re:AutoFiltro em JTable e TableModel prático: Baixem</title>
				<description><![CDATA[ Quanto à abrir ou não um tópico. Seu assunto se refere ao meu TableFilter, então, é por aqui mesmo que eu respondo. É que o povo vem pegar carona para coisas de JTable que não tem nada a ver com o tópico original.<br /> <br /> Sim, existe o método getFilteredRows(). Ele retorna uma lista com os índices que sobraram após o filtro, na ordem que sobraram. Aí basta pedir esses índices ao model.<br /> <br /> ]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/100793/1135024/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</guid>
				<link>http://www.guj.com.br/prepost/100793/1135024/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</link>
				<pubDate><![CDATA[Mon, 18 Oct 2010 08:17:09]]> GMT</pubDate>
				<author><![CDATA[ ViniGodoy]]></author>
			</item>
			<item>
				<title>Re:AutoFiltro em JTable e TableModel prático: Baixem</title>
				<description><![CDATA[ Entendi Vini. Mas o metodo get do tableModel só aceita 1 integer como parâmetro. Como eu vou passar uma lista para ele?<br /> Eu verifiquei os outros métodos e não consegui identificar nenhum que receba a lista dos índices e me devolva a lista com o objeto.<br /> <br /> Eu tentei assim.<br /> <br /> [code]<br /> List&lt;Comunicacao&gt; lista = tableModel.get(tableFilter.getFilteredRows());<br /> [/code]<br /> <br /> Vc pode me exemplificar fazendo favor. É erro de iniciante, mas logo eu chego lá.<br /> <br /> Obrigado.]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/100793/1135221/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</guid>
				<link>http://www.guj.com.br/prepost/100793/1135221/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</link>
				<pubDate><![CDATA[Mon, 18 Oct 2010 11:49:43]]> GMT</pubDate>
				<author><![CDATA[ caceres]]></author>
			</item>
			<item>
				<title>Re:AutoFiltro em JTable e TableModel prático: Baixem</title>
				<description><![CDATA[ Tem que fazer um foreach mesmo e montar outra lista. Mas tem razão, seria interessante ter esse método já direto no TableFilter.<br /> <br /> [code]List&lt;Comunicacao&gt; lista = new ArrayList&lt;Comunicacao&gt;();<br /> for (Integer index : tableFilter.getFilteredRows()) {<br />    lista.add(tableModel.get(index.intValue());<br /> }[/code]]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/100793/1135235/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</guid>
				<link>http://www.guj.com.br/prepost/100793/1135235/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</link>
				<pubDate><![CDATA[Mon, 18 Oct 2010 12:16:42]]> GMT</pubDate>
				<author><![CDATA[ ViniGodoy]]></author>
			</item>
			<item>
				<title>Re:AutoFiltro em JTable e TableModel prático: Baixem</title>
				<description><![CDATA[ Obrigado Vini, funcionou perfeitamente.]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/100793/1135243/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</guid>
				<link>http://www.guj.com.br/prepost/100793/1135243/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</link>
				<pubDate><![CDATA[Mon, 18 Oct 2010 12:25:31]]> GMT</pubDate>
				<author><![CDATA[ caceres]]></author>
			</item>
			<item>
				<title>Re:AutoFiltro em JTable e TableModel prático: Baixem</title>
				<description><![CDATA[ Olá Vini.<br /> <br /> Desculpa encher o saco novamente, mas como estou utilizando seu modelo em um projeto aqui na empresa, estou propenso a dúvidas.<br /> <br /> Bom, eu gostaria de saber se no filtro tem alguma configuração diferente para dados do tipo inteiro ??<br /> <br /> Pois tive um problema quando mandei ordenar tanto de forma crescente como decrescente.<br /> O filtro ordenou, mas ele ordenou de acordo com o elemento da esquerda e não pelo número ser maior ou menor que o outro.<br /> <br /> Ex.:<br /> <br /> [code]<br /> 8<br /> 7<br /> 5<br /> 33<br /> 2<br /> 18<br /> [/code]<br /> <br /> Quando os números tem apenas uma casa decimal ele ordena perfeitamente, mas quando tem duas ou mais acontece isso.<br /> Se vc quiser até te mando um print do problema. Eu tentei colocar o print aqui mas não consegui.<br /> <br /> Obrigado.<br /> <br /> <br /> <br /> ]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/100793/1139145/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</guid>
				<link>http://www.guj.com.br/prepost/100793/1139145/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</link>
				<pubDate><![CDATA[Sun, 24 Oct 2010 21:05:15]]> GMT</pubDate>
				<author><![CDATA[ caceres]]></author>
			</item>
			<item>
				<title>Re:AutoFiltro em JTable e TableModel prático: Baixem</title>
				<description><![CDATA[ Ola!<br /> <br /> Só uma perguntinha simples, existe um método que permita só o personalizar do seu TableFilter (que não permita ordenar) é que tenho uma coluna Documento que seria bom permitir que o usuário filtrasse por documento<br /> <br /> caso não aja poderias me dar uma dica de como criar um método que faça isso no seu TableFilter<br /> <br /> <br /> [b]caceres[/b] dando um palpite no seu problema. Ele deve ta acontesendo porque a Class da coluna deve estar como String e NÃO Integer<br /> deve ser isso mais só foi chute!<br /> <br /> até!]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/100793/1139190/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</guid>
				<link>http://www.guj.com.br/prepost/100793/1139190/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</link>
				<pubDate><![CDATA[Mon, 25 Oct 2010 02:09:53]]> GMT</pubDate>
				<author><![CDATA[ InSeOfKn]]></author>
			</item>
			<item>
				<title>Re:AutoFiltro em JTable e TableModel prático: Baixem</title>
				<description><![CDATA[ [quote=InSeOfKn]Só uma perguntinha simples, existe um método que permita só o personalizar do seu TableFilter (que não permita ordenar) é que tenho uma coluna Documento que seria bom permitir que o usuário filtrasse por documento[/quote]<br /> <br /> Isso não tem, e não é muito trivial de implementar. Mas qual é o problema de deixar ele também ordenar por documento? O filtro e a ordenação são operações separadas.]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/100793/1139214/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</guid>
				<link>http://www.guj.com.br/prepost/100793/1139214/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</link>
				<pubDate><![CDATA[Mon, 25 Oct 2010 07:29:53]]> GMT</pubDate>
				<author><![CDATA[ ViniGodoy]]></author>
			</item>
			<item>
				<title>Re:AutoFiltro em JTable e TableModel prático: Baixem</title>
				<description><![CDATA[ [quote]<br /> caceres dando um palpite no seu problema. Ele deve ta acontesendo porque a Class da coluna deve estar como String e NÃO Integer<br /> deve ser isso mais só foi chute! <br /> [/quote]<br /> <br /> É isso Vini?<br /> <br /> Na verdade meu javabean que se relaciona com a classe Columns esta correto (string onde é string e int onde é int).<br /> <br /> No aguardo.<br /> Obrigado.]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/100793/1139802/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</guid>
				<link>http://www.guj.com.br/prepost/100793/1139802/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</link>
				<pubDate><![CDATA[Mon, 25 Oct 2010 17:03:41]]> GMT</pubDate>
				<author><![CDATA[ caceres]]></author>
			</item>
			<item>
				<title>Re:AutoFiltro em JTable e TableModel prático: Baixem</title>
				<description><![CDATA[ Como está o seu TableModel (ou seus Columns)? É ele que indica como as colunas devem ser ordenadas.<br /> E tem sim, um tratamento especial para inteiros.]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/100793/1139803/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</guid>
				<link>http://www.guj.com.br/prepost/100793/1139803/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</link>
				<pubDate><![CDATA[Mon, 25 Oct 2010 17:05:09]]> GMT</pubDate>
				<author><![CDATA[ ViniGodoy]]></author>
			</item>
			<item>
				<title>Re:AutoFiltro em JTable e TableModel prático: Baixem</title>
				<description><![CDATA[ Não não tem. Era isso q eu gostaria de saber. Sobre esse tratamento.<br /> <br /> Segue minha classe:<br /> [code]<br /> public enum ComunicacaoColumns implements Column&lt;Comunicacao_Dias&gt; <br /> {<br />         CARRO("Carro") <br />         {  <br />             //Esse método precisa retornar para o table o ID da pessoa  <br />             public Object getValue(Comunicacao_Dias p)  <br />             {  <br />                 return p.getCarro();  <br />             }          <br />         },   <br />         COMUNICACAO_ANTERIOR("Comunicação Anterior") <br />         {  <br />            public Object getValue(Comunicacao_Dias p)  <br />            {  <br />                return p.getComunicacao_anterior();  <br />            }          <br />         },   <br />         <br />        ULTIMA_COMUNICACAO("Última Comunicação")  <br />        {  <br />            public Object getValue(Comunicacao_Dias p)  <br />            {  <br />                return p.getUltima_comunicacao();  <br />            }          <br />        },<br />        <br />        DIAS("Dias")<br />        {<br />        	public Object getValue(Comunicacao_Dias p)<br />        	{<br />        		return p.getDias();<br />        	}<br />        };<br />      <br />       //Daqui para baixo, são configurações que valem para todas as colunas  <br /> <br />     private final String nome;  <br />      <br /> 	private ComunicacaoColumns(String nome) <br /> 	{  <br /> 		this.nome = nome;  <br /> 	}  <br />      <br /> 	public Class&lt; ? &gt; getColumnClass() <br /> 	{  <br /> 		return Object.class;  <br /> 	}  <br /> 	 <br /> 	public String getName() <br /> 	{  <br /> 		return nome;  <br /> 	}  <br /> 	 <br /> 	public TableCellRenderer getRenderer() <br /> 	{  <br /> 		return null;  <br /> 	}  <br /> 	 <br /> 	public int getModelIndex() <br /> 	{  <br /> 		return ordinal();  <br /> 	}  <br /> 	<br /> 	public int getWidth() <br /> 	{  <br /> 		return 100;  <br /> 	}<br /> [/code]<br /> <br /> Como seria um exemplo desse tratamento?<br /> <br /> Criar um outro construtor recebendo parâmetro do tipo int e retornando?<br /> Como seria chamado isso dentro da classe?<br /> <br /> Obrigado.]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/100793/1139808/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</guid>
				<link>http://www.guj.com.br/prepost/100793/1139808/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</link>
				<pubDate><![CDATA[Mon, 25 Oct 2010 17:08:47]]> GMT</pubDate>
				<author><![CDATA[ caceres]]></author>
			</item>
			<item>
				<title>Re:AutoFiltro em JTable e TableModel prático: Baixem</title>
				<description><![CDATA[ O seu getColumnClass() está sempre retornando Object.class.<br /> <br /> Você deve fazer retornar Integer.class para as colunas inteiras. Veja com a coluna Dias:<br /> [code]<br /> public enum ComunicacaoColumns implements Column&lt;Comunicacao_Dias&gt; <br /> {<br />    CARRO(&quot;Carro&quot;) {  <br />       //Esse método precisa retornar para o table o ID da pessoa  <br />       public Object getValue(Comunicacao_Dias p)  {  <br />          return p.getCarro();  <br />       }          <br />    },   <br />    COMUNICACAO_ANTERIOR(&quot;Comunicação Anterior&quot;) {  <br />       public Object getValue(Comunicacao_Dias p) {  <br />          return p.getComunicacao_anterior();  <br />       }          <br />    },          <br />    ULTIMA_COMUNICACAO(&quot;Última Comunicação&quot;)  {  <br />       public Object getValue(Comunicacao_Dias p)  {  <br />          return p.getUltima_comunicacao();  <br />       }          <br />    },       <br />    DIAS(&quot;Dias&quot;) {<br />       public Object getValue(Comunicacao_Dias p) {<br />          return p.getDias();<br />       }<br /> <br />       public Class&lt; ? &gt; getColumnClass() {  <br /> 		return Integer.class;  <br />       }  <br />    };<br />      <br />    //Daqui para baixo, são configurações que valem para todas as colunas  <br /> <br />    private final String nome;  <br />      <br />    private ComunicacaoColumns(String nome)  {  <br />       this.nome = nome;  <br />    }  <br />      <br />    public Class&lt; ? &gt; getColumnClass() {  <br />       return Object.class;  <br />    }  <br /> 	 <br />    public String getName() {  <br />       return nome;  <br />    }  <br /> 	 <br />    public TableCellRenderer getRenderer() {  <br />       return null;  <br />    }  <br /> 	 <br />    public int getModelIndex() {  <br />       return ordinal();  <br />    }  <br /> 	<br />    public int getWidth() {  <br />       return 100;  <br />    }<br /> }<br /> [/code]]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/100793/1139810/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</guid>
				<link>http://www.guj.com.br/prepost/100793/1139810/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</link>
				<pubDate><![CDATA[Mon, 25 Oct 2010 17:10:40]]> GMT</pubDate>
				<author><![CDATA[ ViniGodoy]]></author>
			</item>
			<item>
				<title>Re:AutoFiltro em JTable e TableModel prático: Baixem</title>
				<description><![CDATA[ Era isso mesmo. O engraçado é que os dados dessa coluna agora ficaram alinhados para a direta (ao contrario de quando estava retornando do tipo String). E ao contrário das outras colunas.<br /> <br /> É assim mesmo? Existe algum método que alinha isso centralizado por exemplo, ou isso ja faz parte do layout do table e é outra história?<br /> <br /> Muito obrigado, e é só isso.<br /> <br /> Abraço.]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/100793/1139813/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</guid>
				<link>http://www.guj.com.br/prepost/100793/1139813/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</link>
				<pubDate><![CDATA[Mon, 25 Oct 2010 17:19:47]]> GMT</pubDate>
				<author><![CDATA[ caceres]]></author>
			</item>
			<item>
				<title>Re:AutoFiltro em JTable e TableModel prático: Baixem</title>
				<description><![CDATA[ Isso depende é do renderer da coluna. Por padrão ele usa o DefaultRenderer que alinha números a direita, e demais dados a esquerda.]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/100793/1139820/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</guid>
				<link>http://www.guj.com.br/prepost/100793/1139820/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</link>
				<pubDate><![CDATA[Mon, 25 Oct 2010 17:37:22]]> GMT</pubDate>
				<author><![CDATA[ ViniGodoy]]></author>
			</item>
			<item>
				<title>Re:AutoFiltro em JTable e TableModel prático: Baixem</title>
				<description><![CDATA[ [quote=ViniGodoy]Como está o seu TableModel (ou seus Columns)? É ele que indica como as colunas devem ser ordenadas.<br /> E tem sim, um tratamento especial para inteiros.[/quote]<br /> <br /> o problema não é como é ordenado o problema é que eu não quero que ordene olhe a imagem da minha JTable para entenderem melhor o que eu quero<br /> <br /> [img]http://img708.imageshack.us/img708/8580/tableoe.png[/img]<br /> porque pelo menos ao meu ver poder ordenar uma coluna de documento ou telefone fica esquisito mais se o usuário querer pegar todos os telefones que tenha o mesmo código de área ou se lembrar de parte do documento o personalizar seria ótimo ]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/100793/1139885/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</guid>
				<link>http://www.guj.com.br/prepost/100793/1139885/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</link>
				<pubDate><![CDATA[Mon, 25 Oct 2010 19:55:02]]> GMT</pubDate>
				<author><![CDATA[ InSeOfKn]]></author>
			</item>
			<item>
				<title>Re:AutoFiltro em JTable e TableModel prático: Baixem</title>
				<description><![CDATA[ Então, como eu falei, esse suporte ele não dá.<br /> <br /> Você tem a opção de desabilitar totalmente o filtro, mas eu deixaria a possibilidade de ordenação. Fica meio ridículo, mas é um preço muito pequeno a se pagar por uma funcionalidade tão bacana.<br /> E vai saber, as vezes seu usuário vai querer listar todos os números ordenados por código de área...]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/100793/1139917/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</guid>
				<link>http://www.guj.com.br/prepost/100793/1139917/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</link>
				<pubDate><![CDATA[Mon, 25 Oct 2010 22:10:49]]> GMT</pubDate>
				<author><![CDATA[ ViniGodoy]]></author>
			</item>
			<item>
				<title>Re:AutoFiltro em JTable e TableModel prático: Baixem</title>
				<description><![CDATA[ Vini parabéns pelo post... Me poupou um tempão!  <img src="http://www.guj.com.br/images/smilies/385970365b8ed7503b4294502a458efa.gif" border="0"> <br /> Ficou muito bom esse seu AutoFiltro e o table model!<br /> <br /> Vou começar a estudar o projeto do mark agora e talvez implementá-lo no meu projeto.  <img src="http://www.guj.com.br/images/smilies/8a80c6485cd926be453217d59a84a888.gif" border="0"> <br /> Parece ser um pouco mais interessante por trabalhar com anotações. Tenho tabelas do banco com praticamente 50 ou mais colunas.<br /> É um pouco doloroso escrever enums para tabelas grandes assim. <img src="http://www.guj.com.br/images/smilies/385970365b8ed7503b4294502a458efa.gif" border="0"> <br /> Mas ainda assim é bem melhor que trabalhar com DefaultTableModel e de quebra tem o auto filtro que é muito bom! <img src="http://www.guj.com.br/images/smilies/8a80c6485cd926be453217d59a84a888.gif" border="0"> ]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/100793/1159962/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</guid>
				<link>http://www.guj.com.br/prepost/100793/1159962/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</link>
				<pubDate><![CDATA[Thu, 2 Dec 2010 08:26:43]]> GMT</pubDate>
				<author><![CDATA[ joyle]]></author>
			</item>
			<item>
				<title>Re:AutoFiltro em JTable e TableModel prático: Baixem</title>
				<description><![CDATA[ Sim. E o auto-filtro funciona com qualquer TableModel. Incluindo o (argh) Default e o do Mark. <img src="http://www.guj.com.br/images/smilies/3b63d1616c5dfcf29f8a7a031aaa7cad.gif" border="0">]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/100793/1160025/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</guid>
				<link>http://www.guj.com.br/prepost/100793/1160025/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</link>
				<pubDate><![CDATA[Thu, 2 Dec 2010 10:14:56]]> GMT</pubDate>
				<author><![CDATA[ ViniGodoy]]></author>
			</item>
			<item>
				<title>Re:AutoFiltro em JTable e TableModel prático: Baixem</title>
				<description><![CDATA[ [quote=ViniGodoy]Sim. E o auto-filtro funciona com qualquer TableModel. Incluindo o (argh) Default e o do Mark. <img src="http://www.guj.com.br/images/smilies/3b63d1616c5dfcf29f8a7a031aaa7cad.gif" border="0">[/quote]<br /> <br /> Realmente o modelo do Mark é bem mais interessante! Dispensa comentários! <img src="http://www.guj.com.br/images/smilies/8a80c6485cd926be453217d59a84a888.gif" border="0"> <br /> Vini, o auto filtro realmente funfa de boa com o modelo do Mark. Vcs estão de parabéns...<br /> Nem gosto de imaginar se tivesse que construir isso do zero... <img src="http://www.guj.com.br/images/smilies/385970365b8ed7503b4294502a458efa.gif" border="0"> <br /> <br /> Obrigado.]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/100793/1161859/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</guid>
				<link>http://www.guj.com.br/prepost/100793/1161859/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</link>
				<pubDate><![CDATA[Mon, 6 Dec 2010 16:58:07]]> GMT</pubDate>
				<author><![CDATA[ joyle]]></author>
			</item>
			<item>
				<title>AutoFiltro em JTable e TableModel prático: Baixem</title>
				<description><![CDATA[ Hehe, fizemos um bom trabalho juntos(na realidade foi separado, mas os dois são tão independentes que funcionam bem juntos, ironico não?) <img src="http://www.guj.com.br/images/smilies/69934afc394145350659cd7add244ca9.gif" border="0"><br /> <br /> Obrigado aos comentários também.]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/100793/1161873/autofiltro-em-jtable-e-tablemodel-pratico-baixem
</guid>
				<link>http://www.guj.com.br/prepost/100793/1161873/autofiltro-em-jtable-e-tablemodel-pratico-baixem
</link>
				<pubDate><![CDATA[Mon, 6 Dec 2010 17:23:46]]> GMT</pubDate>
				<author><![CDATA[ Marky.Vasconcelos]]></author>
			</item>
			<item>
				<title>AutoFiltro em JTable e TableModel prático: Baixem</title>
				<description><![CDATA[ [quote=Marky.Vasconcelos]Hehe, fizemos um bom trabalho juntos(na realidade foi separado, mas os dois são tão independentes que funcionam bem juntos, ironico não?) <img src="http://www.guj.com.br/images/smilies/69934afc394145350659cd7add244ca9.gif" border="0"><br /> <br /> Obrigado aos comentários também.[/quote]<br /> <br /> Sim, é irônico...<br /> Mark, você não pensa em implementar o auto filtro direto no seu projeto não? Seria uma boa <img src="http://www.guj.com.br/images/smilies/0a4d7238daa496a758252d0a2b1a1384.gif" border="0"> <br /> <br /> Baixei os fontes do seu projeto e estou estudando-os.<br /> <br /> Mais uma vez... valeu pela força.]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/100793/1161885/autofiltro-em-jtable-e-tablemodel-pratico-baixem
</guid>
				<link>http://www.guj.com.br/prepost/100793/1161885/autofiltro-em-jtable-e-tablemodel-pratico-baixem
</link>
				<pubDate><![CDATA[Mon, 6 Dec 2010 17:37:28]]> GMT</pubDate>
				<author><![CDATA[ joyle]]></author>
			</item>
			<item>
				<title>AutoFiltro em JTable e TableModel prático: Baixem</title>
				<description><![CDATA[ Sim, pretendo colocar o auto-filtro no meu projeto, só estou procurando tempo para fazer essas coisas.]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/100793/1161960/autofiltro-em-jtable-e-tablemodel-pratico-baixem
</guid>
				<link>http://www.guj.com.br/prepost/100793/1161960/autofiltro-em-jtable-e-tablemodel-pratico-baixem
</link>
				<pubDate><![CDATA[Mon, 6 Dec 2010 21:41:58]]> GMT</pubDate>
				<author><![CDATA[ Marky.Vasconcelos]]></author>
			</item>
			<item>
				<title>Re:AutoFiltro em JTable e TableModel prático: Baixem</title>
				<description><![CDATA[ Mark,<br /> Como vc trata os dados do tipo Double para ficarem formatados com as casas decimais e tal e alinhar o texto a direita?<br /> <br /> No meu caso, os campos na classe POJO estão declarados como BigDecimal, mas preciso mostrá-los como double porque como BigDecimal os números ficam sem formatação<br /> e quando o número é 0 ele mostra como 0E-9...<br /> <br /> [code]import java.text.DecimalFormat;<br /> import mark.utils.bean.Formatter;<br /> <br /> /**<br />  *<br />  * @author jsilva<br />  */<br /> public class DoubleFormatter implements Formatter{<br />     DecimalFormat formatter = new DecimalFormat();<br />     public Object format(Object o) {<br />         String valor = formatter.format(o);<br />         return valor;<br />     }<br /> <br />     public Object parse(Object o) {<br />         return Double.parseDouble(o.toString());<br />     }<br /> <br />     public String getName() {<br />         return "double";<br />     }<br /> <br /> }[/code]<br /> <br /> Essa é a classe que fiz para formatar o valor, mas como ele retorna uma String os valores ficam alinhados a esquerda!<br /> Como vc faz pra informar que a classe de uma determinada coluna é um Double ou outro tipo qualquer?]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/100793/1162077/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</guid>
				<link>http://www.guj.com.br/prepost/100793/1162077/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</link>
				<pubDate><![CDATA[Tue, 7 Dec 2010 10:18:01]]> GMT</pubDate>
				<author><![CDATA[ joyle]]></author>
			</item>
			<item>
				<title>AutoFiltro em JTable e TableModel prático: Baixem</title>
				<description><![CDATA[ Depende do que voce quer fazer, mostrar um double na tabela não vai resolver seu problema, se voce quiser formatado voce pode usar o DecimalFormatter e converter para String mesmo.<br /> <br /> Só algo importante, o método format deve declarar o retorno do mesmo tipo que voce quer exibir na coluna, nos eu caso seria mais ou menos o seguinte:<br /> <br /> [code]<br /> import java.text.DecimalFormat;<br /> import mark.utils.bean.Formatter;<br /> <br /> /**<br />  *<br />  * @author jsilva<br />  */<br /> public class DoubleFormatter implements Formatter{<br />     DecimalFormat formatter = new DecimalFormat("##,##");<br />     public String format(Object o) {<br />         String valor = formatter.format(o);<br />         return valor;<br />     }<br /> <br />     public Object parse(Object o) {<br />         return Double.parseDouble(o.toString());<br />     }<br /> <br />     public String getName() {<br />         return "double";<br />     }<br /> <br /> }<br /> [/code]]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/100793/1162110/autofiltro-em-jtable-e-tablemodel-pratico-baixem
</guid>
				<link>http://www.guj.com.br/prepost/100793/1162110/autofiltro-em-jtable-e-tablemodel-pratico-baixem
</link>
				<pubDate><![CDATA[Tue, 7 Dec 2010 10:55:37]]> GMT</pubDate>
				<author><![CDATA[ Marky.Vasconcelos]]></author>
			</item>
			<item>
				<title>Re:AutoFiltro em JTable e TableModel prático: Baixem</title>
				<description><![CDATA[ Tá, no format não declarei o retorno do que quero exibir porque não quero limitar as casas, assim como tá ele faz o que quero que é colocar o separador de milhares e só.<br /> <br /> Mas na verdade, o que quero é especificar o tipo de classe de uma determinada coluna, por exemplo com uma anotação "columnType" onde eu informe o tipo de classe<br /> a ser utilizada para determinada coluna.<br /> <br /> Não posso utilizar uma Double direto porque preciso do tipo como BigDecimal, os campos têm muitas casas decimais e não posso perder a precisão deles.<br /> <br /> Mas voltando... é basicamente isso, pelo que percebi, vc utiliza o tipo declarado na variável para definir o tipo de classe a ser utilizado na coluna.<br /> O que quero é poder mudar o tipo manualmente.<br /> <br /> É possível fazer isso com o seu model?]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/100793/1162116/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</guid>
				<link>http://www.guj.com.br/prepost/100793/1162116/reautofiltro-em-jtable-e-tablemodel-pratico-baixem
</link>
				<pubDate><![CDATA[Tue, 7 Dec 2010 11:03:30]]> GMT</pubDate>
				<author><![CDATA[ joyle]]></author>
			</item>
			<item>
				<title>AutoFiltro em JTable e TableModel prático: Baixem</title>
				<description><![CDATA[ Ai que está o segredo, o tipo da coluna é exatemente o que voce coloca na assinatura do Formatter.<br /> <br /> [code]<br />  public String format(Object o) { <br /> [/code]<br /> Será String.<br /> <br /> [code]<br />  public boolean format(Object o) { <br /> [/code]<br /> Será Boolean, o wraper, por que modifiquei para utilizar apenas os wrapers como class.<br /> <br /> E assim vai, voce pode colocar qualquer objeto, desde que tenha um Renderer apropriado.]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/100793/1162167/autofiltro-em-jtable-e-tablemodel-pratico-baixem
</guid>
				<link>http://www.guj.com.br/prepost/100793/1162167/autofiltro-em-jtable-e-tablemodel-pratico-baixem
</link>
				<pubDate><![CDATA[Tue, 7 Dec 2010 11:51:56]]> GMT</pubDate>
				<author><![CDATA[ Marky.Vasconcelos]]></author>
			</item>
			<item>
				<title>AutoFiltro em JTable e TableModel prático: Baixem</title>
				<description><![CDATA[ [quote=Marky.Vasconcelos]Ai que está o segredo, o tipo da coluna é exatemente o que voce coloca na assinatura do Formatter.<br /> <br /> [code]<br />  public String format(Object o) { <br /> [/code]<br /> Será String.<br /> <br /> [code]<br />  public boolean format(Object o) { <br /> [/code]<br /> Será Boolean, o wraper, por que modifiquei para utilizar apenas os wrapers como class.<br /> <br /> E assim vai, voce pode colocar qualquer objeto, desde que tenha um Renderer apropriado.[/quote]<br /> <br /> Você é o cara!!  :D <br /> Nem pensei nisso... :shock: <br /> <br /> Eu já estava aqui fuçando no source e implementando uma anotação "columnType".. :? <br /> <br /> Valeu Mark...]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/100793/1162176/autofiltro-em-jtable-e-tablemodel-pratico-baixem
</guid>
				<link>http://www.guj.com.br/prepost/100793/1162176/autofiltro-em-jtable-e-tablemodel-pratico-baixem
</link>
				<pubDate><![CDATA[Tue, 7 Dec 2010 12:04:09]]> GMT</pubDate>
				<author><![CDATA[ joyle]]></author>
			</item>
			<item>
				<title>AutoFiltro em JTable e TableModel prático: Baixem</title>
				<description><![CDATA[ Eu também tinha pensado no columnType, mas ia ser meio idiota ficar declarando nas annotations esse tipo, ainda mais que em um caso voce pode querer mostrar como String e outro como double, e isso não seria resolvido com a annotation.<br /> <br /> Só se lembre, o método parse recebe um objeto do mesmo tipo que o format retorna.]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/100793/1162254/autofiltro-em-jtable-e-tablemodel-pratico-baixem
</guid>
				<link>http://www.guj.com.br/prepost/100793/1162254/autofiltro-em-jtable-e-tablemodel-pratico-baixem
</link>
				<pubDate><![CDATA[Tue, 7 Dec 2010 13:45:38]]> GMT</pubDate>
				<author><![CDATA[ Marky.Vasconcelos]]></author>
			</item>
			<item>
				<title>AutoFiltro em JTable e TableModel prático: Baixem</title>
				<description><![CDATA[ [quote=Marky.Vasconcelos]Eu também tinha pensado no columnType, mas ia ser meio idiota ficar declarando nas annotations esse tipo, ainda mais que em um caso voce pode querer mostrar como String e outro como double, e isso não seria resolvido com a annotation.<br /> <br /> Só se lembre, o método parse recebe um objeto do mesmo tipo que o format retorna.[/quote]<br /> <br /> É verdade, a solução do Formatter foi bem mais inteligente, ficou realmente muito bom.<br /> Parabéns pelo trabalho.]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/100793/1162308/autofiltro-em-jtable-e-tablemodel-pratico-baixem
</guid>
				<link>http://www.guj.com.br/prepost/100793/1162308/autofiltro-em-jtable-e-tablemodel-pratico-baixem
</link>
				<pubDate><![CDATA[Tue, 7 Dec 2010 14:44:13]]> GMT</pubDate>
				<author><![CDATA[ joyle]]></author>
			</item>
			<item>
				<title>Re:Projeto Towel: AutoFiltro em JTable</title>
				<description><![CDATA[ Boa noite a todos.<br /> <br /> Vini, eu me deparei com a seguinte situação. Quando eu mando filtrar os dados do table eu faço um FOR EACH e pego a lista de dados na ordem em que foram filtrados ou ordenados, até ai normal.<br /> Mas e quando eu não tenho todos os atributos da minha classe de negócio no meu table. Nesse caso, minha classe de negócio (lista) tem 8 atributos, e fica inviável representar todos no table, então eu só exibo 3 atributos. A questão é: existe a possibilidade de quando ordenado esses 3 atributos no meu table, ordenar juntamente minha lista com todos os 8 atributos?<br /> <br /> Desde já agradeço a atenção.<br /> <br /> Obrigado.]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/100793/1165288/reprojeto-towel-autofiltro-em-jtable
</guid>
				<link>http://www.guj.com.br/prepost/100793/1165288/reprojeto-towel-autofiltro-em-jtable
</link>
				<pubDate><![CDATA[Mon, 13 Dec 2010 19:55:05]]> GMT</pubDate>
				<author><![CDATA[ caceres]]></author>
			</item>
			<item>
				<title>Re:Projeto Towel: AutoFiltro em JTable</title>
				<description><![CDATA[ O auto-filtro ordena apenas a visualização.<br /> <br /> O máximo que ele fornece é um método que te retorna o índice de todos os índices do model, na ordem que aparecem na view. Com esse método você pode todos os objetos, com todos os campos deles (sendo mostrados ou não) na ordem que o usuário deixou.]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/100793/1165332/reprojeto-towel-autofiltro-em-jtable
</guid>
				<link>http://www.guj.com.br/prepost/100793/1165332/reprojeto-towel-autofiltro-em-jtable
</link>
				<pubDate><![CDATA[Mon, 13 Dec 2010 22:21:56]]> GMT</pubDate>
				<author><![CDATA[ ViniGodoy]]></author>
			</item>
			<item>
				<title>Re:Projeto Towel: AutoFiltro em JTable</title>
				<description><![CDATA[ Ah ta, entendi... valew então...<br /> Obrigado.]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/100793/1166099/reprojeto-towel-autofiltro-em-jtable
</guid>
				<link>http://www.guj.com.br/prepost/100793/1166099/reprojeto-towel-autofiltro-em-jtable
</link>
				<pubDate><![CDATA[Wed, 15 Dec 2010 00:51:44]]> GMT</pubDate>
				<author><![CDATA[ caceres]]></author>
			</item>
			<item>
				<title>Re:Projeto Towel: AutoFiltro em JTable</title>
				<description><![CDATA[ Olá, aproveitando o gancho, gostaria de saber se através deste projeto, tem como que definir o tamanha das colunas da tabela?<br /> <br /> Grato,]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/100793/1168238/reprojeto-towel-autofiltro-em-jtable
</guid>
				<link>http://www.guj.com.br/prepost/100793/1168238/reprojeto-towel-autofiltro-em-jtable
</link>
				<pubDate><![CDATA[Mon, 20 Dec 2010 10:42:16]]> GMT</pubDate>
				<author><![CDATA[ fdcarli]]></author>
			</item>
			<item>
				<title>Re:Projeto Towel: AutoFiltro em JTable</title>
				<description><![CDATA[ Resolvido... Vlw a inspiração...]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/100793/1197411/reprojeto-towel-autofiltro-em-jtable
</guid>
				<link>http://www.guj.com.br/prepost/100793/1197411/reprojeto-towel-autofiltro-em-jtable
</link>
				<pubDate><![CDATA[Wed, 9 Feb 2011 23:36:04]]> GMT</pubDate>
				<author><![CDATA[ caceres]]></author>
			</item>
			<item>
				<title>Re:Projeto Towel: AutoFiltro em JTable</title>
				<description><![CDATA[ Bom dia a todos.<br /> <br /> Vini ou Marky, eu gostaria de uma opinião de vcs.<br /> <br /> Eu precisava formatar a data apresentada no table (utilizando o model do Vini - com AutoFiltro), daí eu fiz da seguinte forma.<br /> <br /> No ENUM que eu defino as colunas do meu table<br /> [code]<br /> DATA_PROCESSAMENTO("Data Processamento")  <br /> 	   {  <br /> 	       public Object getValue(PowerUP p)  <br /> 	       {  <br /> 	           return new DataString().formataData(p.getData_processamento());  // chamo a classe para formatar...<br /> 	       }<br /> 	   };<br /> [/code]<br /> <br /> Classe que formata a data<br /> [code]<br /> public class DataString {<br /> 	private final DateFormat FORMATAR = new SimpleDateFormat("dd/MM/yyyy");<br /> 	<br /> 	public Object formataData(Object date){<br /> 		return FORMATAR.format(date);<br /> 	}<br /> }<br /> [/code]<br /> <br /> É uma boa prática da forma que eu desenvolvi? Funcionou corretamente, mas eu me preocupo em não fazer gambiarras.<br /> <br /> Vlw]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/100793/1211042/reprojeto-towel-autofiltro-em-jtable
</guid>
				<link>http://www.guj.com.br/prepost/100793/1211042/reprojeto-towel-autofiltro-em-jtable
</link>
				<pubDate><![CDATA[Sun, 6 Mar 2011 01:19:35]]> GMT</pubDate>
				<author><![CDATA[ caceres]]></author>
			</item>
			<item>
				<title>Re:Projeto Towel: AutoFiltro em JTable</title>
				<description><![CDATA[ Olá,<br /> estou utilizando o ObjectTableModel do marky com o TableFilter do Vini, estou trabalhando com uma tela única para realizar as pesquisas, <br /> para isto estou criando/configurando os models desta forma:<br /> [code]public static TableFilter modelCidade(JTable table){<br />         AnnotationResolver resolver = new AnnotationResolver(Cidade.class);<br />         cidadeModel = new ObjectTableModel&lt;Cidade&gt;(<br />                 resolver, "nomeCidade,nomeEstado,paisEstado");<br />         filterCidade = new TableFilter(table.getTableHeader(),<br />                 cidadeModel);<br />          return filterCidade;<br /> }<br /> <br /> public static TableFilter modelContato(JTable table){<br />         AnnotationResolver resolver = new AnnotationResolver(Contato.class);<br />         contatoModel = new ObjectTableModel&lt;Contato&gt;(<br />                 resolver, "nomeContato,emailContato,telefoneContato,nomePessoa");<br />         filterContato = new TableFilter(table.getTableHeader(),<br />                 contatoModel);<br />          return filterContato;<br /> }[/code]<br /> Na minha tela de pesquisa eu crio uma única instância da JTable:<br /> [code]public JTable table = new JTable();[/code]<br /> Quando seleciono o cadastro que desejo pesquisar (faço isso em um JComboBox) a tela atualiza as colunas conforme o model selecionado,<br /> o código responsável por isso é o seguinte:<br /> [code]public void setTipoPesquisa() {<br />         codigoSelecionado = -1;<br />         jcbTipoPesquisa.setSelectedItem(cadastroPesquisa);        <br />         if (cadastroPesquisa.equals(BD.EstruturaBanco.CIDADE)) {            <br />             table.setModel(telasPesquisa.TableModels.modelCidade(table));<br />         } else if (cadastroPesquisa.equals(BD.EstruturaBanco.CONTATO)) {<br />             table.setModel(telasPesquisa.TableModels.modelContato(table));<br />         }<br />         this.setTitle("Pesquisa de " + cadastroPesquisa);<br />         jbTodos.setToolTipText("Pesquisar por todos os registros de " + cadastroPesquisa);<br />         Resizer.fitAllColumns(table);<br /> }[/code]<br /> [img]http://images.orkut.com/orkut/photos/OgAAABRPIdFqChFMOZQy67N3dt9kSgOGzS9BH98251_uZ9cu0DqSzomY568vxgfzwzTP7Q3TIhOVptooQPEDOjNr778Am1T1UC9WM1qVG2hJlnd1KDZ1NhwijvmN.jpg[/img]<br /> <br /> <br /> Más estou com um problema, está dando um erro no ArrayList quando faço a troca do model com 3 colunas para o de 4 colunas,<br /> imagino que eu saiba o por que do erro, más não sei como corregi-lo, alguém pode me ajudar?<br /> <br /> [b]PS.:[/b] Quando troco de um model com 3 colunas para outro com o mesmo numero de colunas não ocorre erro.<br /> <br /> segue o erro:<br /> [code]Exception occurred during event dispatching:<br /> java.lang.IndexOutOfBoundsException: Index: 3, Size: 3<br />         at java.util.ArrayList.RangeCheck(ArrayList.java:547)<br />         at java.util.ArrayList.get(ArrayList.java:322) [/code]<br /> ]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/100793/1213559/reprojeto-towel-autofiltro-em-jtable
</guid>
				<link>http://www.guj.com.br/prepost/100793/1213559/reprojeto-towel-autofiltro-em-jtable
</link>
				<pubDate><![CDATA[Fri, 11 Mar 2011 18:05:15]]> GMT</pubDate>
				<author><![CDATA[ RoneiFrandoloso]]></author>
			</item>
			<item>
				<title>Re:Projeto Towel: AutoFiltro em JTable</title>
				<description><![CDATA[ Vc tem que verificar se esta correto essa troca de model's (3 colunas por 4), pois esse log de erro eh justamente a tentativa de acesso de uma posição inválida na lista. Eu não sei como vc esta chamando na view, e pelo q eu entendi o usuário pode trocar de model conforme ele queira. Será que vc não tem q remover o model anterior antes de adicionar o novo? Eu não tenho certeza, mas talvez ele esta tentando colocar um model "em cima" do outro. Não conheço o model do Mark, pois eu uso o do Viny, mas ta uma idéia pra vc.]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/100793/1213691/reprojeto-towel-autofiltro-em-jtable
</guid>
				<link>http://www.guj.com.br/prepost/100793/1213691/reprojeto-towel-autofiltro-em-jtable
</link>
				<pubDate><![CDATA[Sat, 12 Mar 2011 04:05:59]]> GMT</pubDate>
				<author><![CDATA[ caceres]]></author>
			</item>
			<item>
				<title>Re:Projeto Towel: AutoFiltro em JTable</title>
				<description><![CDATA[ então caceres, justamente isso que eu não sei como fazer,<br /> já tinha pesquisado sobre o erro, e você está certo, más justamente isso que eu disse, não sei como fazer isso,<br /> tem alguma forma de remover o model?<br /> tentei fazer uma remoção das colunas, mas da forma que eu fiz, o erro persiste.<br /> ]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/100793/1213708/reprojeto-towel-autofiltro-em-jtable
</guid>
				<link>http://www.guj.com.br/prepost/100793/1213708/reprojeto-towel-autofiltro-em-jtable
</link>
				<pubDate><![CDATA[Sat, 12 Mar 2011 09:17:32]]> GMT</pubDate>
				<author><![CDATA[ RoneiFrandoloso]]></author>
			</item>
			<item>
				<title>Re:Projeto Towel: AutoFiltro em JTable</title>
				<description><![CDATA[ alguém?  <img src="http://www.guj.com.br/images/smilies/c30b4198e0907b23b8246bdd52aa1c3c.gif" border="0"> ]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/100793/1214990/reprojeto-towel-autofiltro-em-jtable
</guid>
				<link>http://www.guj.com.br/prepost/100793/1214990/reprojeto-towel-autofiltro-em-jtable
</link>
				<pubDate><![CDATA[Tue, 15 Mar 2011 08:46:06]]> GMT</pubDate>
				<author><![CDATA[ RoneiFrandoloso]]></author>
			</item>
			<item>
				<title>Projeto Towel: AutoFiltro em JTable</title>
				<description><![CDATA[ Cara, nunca vi esse erro acontecer nessas circunstancias. Será que não é nenhum problema ao carregar seus dados?<br /> <br /> Como teste, troque de um model para outro vazio e veja se ocorre o problema.]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/100793/1215015/projeto-towel-autofiltro-em-jtable
</guid>
				<link>http://www.guj.com.br/prepost/100793/1215015/projeto-towel-autofiltro-em-jtable
</link>
				<pubDate><![CDATA[Tue, 15 Mar 2011 09:05:04]]> GMT</pubDate>
				<author><![CDATA[ Marky.Vasconcelos]]></author>
			</item>
			<item>
				<title>Re:Projeto Towel: AutoFiltro em JTable</title>
				<description><![CDATA[ marky, o pior é que já fiz isso,<br /> e também quando troco de um model com mais colunas que o que vou adicionar não da erro algum,<br /> somente da esse erro quando troco de um model menor para um maior... =[]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/100793/1215030/reprojeto-towel-autofiltro-em-jtable
</guid>
				<link>http://www.guj.com.br/prepost/100793/1215030/reprojeto-towel-autofiltro-em-jtable
</link>
				<pubDate><![CDATA[Tue, 15 Mar 2011 09:16:24]]> GMT</pubDate>
				<author><![CDATA[ RoneiFrandoloso]]></author>
			</item>
			<item>
				<title>Re:Projeto Towel: AutoFiltro em JTable</title>
				<description><![CDATA[ na verdade nem carrego dados na tabela quando seto o model,<br /> só irão ser adicionados valores (linhas) a tabela depois de digitar <br /> alguma coisa no field ou clicar no botao pesquisar todos.]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/100793/1215064/reprojeto-towel-autofiltro-em-jtable
</guid>
				<link>http://www.guj.com.br/prepost/100793/1215064/reprojeto-towel-autofiltro-em-jtable
</link>
				<pubDate><![CDATA[Tue, 15 Mar 2011 09:42:43]]> GMT</pubDate>
				<author><![CDATA[ RoneiFrandoloso]]></author>
			</item>
			<item>
				<title>Re:Projeto Towel: AutoFiltro em JTable</title>
				<description><![CDATA[ como o erro persiste depois de muitas tentativas de correção resolvi postar o erro completo,<br /> para que assim talvez vocês possa me ajudar... desconfio que seja algo com o tablefilter,<br /> algo que eu esteja fazendo de forma errónea? <br /> <br /> [code]Exception occurred during event dispatching:<br /> java.lang.IndexOutOfBoundsException: Index: 3, Size: 3<br />         at java.util.ArrayList.RangeCheck(ArrayList.java:547)<br />         at java.util.ArrayList.get(ArrayList.java:322)<br />         at Testes.Table.util.gui.table.headerPopup.TableHeaderPopup.getPopup(TableHeaderPopup.java:199)<br />         at Testes.Table.util.gui.table.TableFilter.refreshHeader(TableFilter.java:151)<br />         at Testes.Table.util.gui.table.TableFilter.access$100(TableFilter.java:35)<br />         at Testes.Table.util.gui.table.TableFilter$3.columnAdded(TableFilter.java:139)<br />         at javax.swing.table.DefaultTableColumnModel.fireColumnAdded(DefaultTableColumnModel.java:516)<br />         at javax.swing.table.DefaultTableColumnModel.addColumn(DefaultTableColumnModel.java:108)<br />         at javax.swing.JTable.addColumn(JTable.java:2772)<br />         at javax.swing.JTable.createDefaultColumnsFromModel(JTable.java:1263)<br />         at javax.swing.JTable.tableChanged(JTable.java:4373)<br />         at javax.swing.JTable.setModel(JTable.java:3675)<br />         at Testes.TelaPesquisa.setTipoPesquisa(TelaPesquisa.java:219)<br />         at Testes.TelaPesquisa$1.actionPerformed(TelaPesquisa.java:137)<br />         at javax.swing.JComboBox.fireActionEvent(JComboBox.java:1240)<br />         at javax.swing.JComboBox.setSelectedItem(JComboBox.java:567)<br />         at javax.swing.JComboBox.setSelectedIndex(JComboBox.java:603)<br />         at javax.swing.plaf.basic.BasicComboPopup$Handler.mouseReleased(BasicComboPopup.java:817)<br />         at java.awt.AWTEventMulticaster.mouseReleased(AWTEventMulticaster.java:273)<br />         at java.awt.Component.processMouseEvent(Component.java:6263)<br />         at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)<br />         at javax.swing.plaf.basic.BasicComboPopup$1.processMouseEvent(BasicComboPopup.java:481)<br />         at java.awt.Component.processEvent(Component.java:6028)<br />         at java.awt.Container.processEvent(Container.java:2041)<br />         at java.awt.Component.dispatchEventImpl(Component.java:4630)<br />         at java.awt.Container.dispatchEventImpl(Container.java:2099)<br />         at java.awt.Component.dispatchEvent(Component.java:4460)<br />         at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4574)<br />         at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)<br />         at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)<br />         at java.awt.Container.dispatchEventImpl(Container.java:2085)<br />         at java.awt.Window.dispatchEventImpl(Window.java:2478)<br />         at java.awt.Component.dispatchEvent(Component.java:4460)<br />         at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)<br />         at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)<br />         at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)<br />         at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:178)<br />         at java.awt.Dialog$1.run(Dialog.java:1046)<br />         at java.awt.Dialog$3.run(Dialog.java:1098)<br />         at java.security.AccessController.doPrivileged(Native Method)<br />         at java.awt.Dialog.show(Dialog.java:1096)<br />         at java.awt.Component.show(Component.java:1563)<br />         at java.awt.Component.setVisible(Component.java:1515)<br />         at java.awt.Window.setVisible(Window.java:842)<br />         at java.awt.Dialog.setVisible(Dialog.java:986)<br />         at Testes.TelaPesquisa.&lt;init&gt;(TelaPesquisa.java:91)<br />         at Testes.TelaPesquisa.abreTela(TelaPesquisa.java:284)<br />         at asf_automation_system_farms.TelaPrincipal.actionPerformed(TelaPrincipal.java:135)<br />         at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1995)<br />         at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2318)<br />         at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:387)<br />         at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242)<br />         at javax.swing.AbstractButton.doClick(AbstractButton.java:357)<br />         at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:1223)<br />         at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:1264)<br />         at java.awt.Component.processMouseEvent(Component.java:6263)<br />         at javax.swing.JComponent.processMouseEvent(JComponent.java:3267)<br />         at java.awt.Component.processEvent(Component.java:6028)<br />         at java.awt.Container.processEvent(Container.java:2041)<br />         at java.awt.Component.dispatchEventImpl(Component.java:4630)<br />         at java.awt.Container.dispatchEventImpl(Container.java:2099)<br />         at java.awt.Component.dispatchEvent(Component.java:4460)<br />         at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4574)<br />         at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4238)<br />         at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4168)<br />         at java.awt.Container.dispatchEventImpl(Container.java:2085)<br />         at java.awt.Window.dispatchEventImpl(Window.java:2478)<br />         at java.awt.Component.dispatchEvent(Component.java:4460)<br />         at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)<br />         at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269)<br />         at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184)<br />         at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174)<br />         at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169)<br />         at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161)<br />         at java.awt.EventDispatchThread.run(EventDispatchThread.java:122) [/code]]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/100793/1217053/reprojeto-towel-autofiltro-em-jtable
</guid>
				<link>http://www.guj.com.br/prepost/100793/1217053/reprojeto-towel-autofiltro-em-jtable
</link>
				<pubDate><![CDATA[Fri, 18 Mar 2011 11:25:30]]> GMT</pubDate>
				<author><![CDATA[ RoneiFrandoloso]]></author>
			</item>
			<item>
				<title>Re:Projeto Towel: AutoFiltro em JTable</title>
				<description><![CDATA[ Primeiro parabéns por esse projeto, muito interessante o ObjectTableModel e o Auto-Filtro, eu inclusive havia criado um modelo de tabela chamado de ObjectTableModel por não conhecer esse...  :oops: <br /> <br /> Só teve uma coisa que eu não gostei no auto-filtro, quando é usado algum look and feel que tem borda em labels, como o Nimbus por exemplo, o header fica meio estranho, parecendo que tem borda só no label...<br /> <br /> Pra deixar mais bonito, em vez de colocar um JToggleButton na classe TableHeaderPopup, eu adicionei um icone no label.<br /> Acho que o ideal é o botão, mas eu não consegui resolver isso usando um botão  :cry: <br /> <br /> Se resolver lançar uma nova versão e tiver tempo, da uma olhada nisso  :lol: <br /> <br /> E pra quem está tendo o mesmo "problema" que eu segue o que eu alterei.<br /> <br /> [code] <br />             panel.add(label, gridBagConstraints);<br />             label.setHorizontalTextPosition(JLabel.LEFT);<br />             ImageIcon icon = null;<br />             <br />             if (modified.get(modelIndex) == null || !modified.get(modelIndex))<br />             	icon = new ImageIcon(getClass().getResource(<br />                   "/res/gui/down.gif"));<br />             else<br />             	icon = new ImageIcon(getClass().getResource(<br />                   "/res/gui/down_red.gif"));<br />             FontMetrics fm = table.getFontMetrics(table.getFont());<br />             label.setIconTextGap(table.getColumnModel().getColumn(column).getWidth() - (fm.stringWidth(label.getText()) + 20));<br />             label.setIcon(icon);<br />             <br /> //            JToggleButton button = new JToggleButton();<br /> <br /> //            if (modified.get(modelIndex) == null || !modified.get(modelIndex))<br /> //                button.setIcon(new ImageIcon(getClass().getResource(<br /> //                        "/res/gui/down.gif")));<br /> //            else<br /> //                button.setIcon(new ImageIcon(getClass().getResource(<br /> //                        "/res/gui/down_red.gif")));<br /> //<br /> //            button.setPreferredSize(new Dimension(16, 16));<br /> //            button.setMaximumSize(new Dimension(16, 16));<br /> //            button.setMinimumSize(new Dimension(16, 16));<br /> //            button.setFocusable(false);<br /> //            button.setSelected(column == selected);<br /> <br /> //            panel.add(button, new GridBagConstraints());<br /> //<br /> //            Border border = label.getBorder();//UIManager.getBorder("TableHeader.cellBorder");<br /> //            	//border.getBorderInsets(c).set(0, 2, 1, 1);<br /> //            panel.setBorder(border);<br /> //            label.setBorder(null);<br /> //            //jLA<br />            <br /> <br />             return label;<br /> [/code]<br /> <br /> E mais uma vez, parabéns pelo projeto  :D <br /> <br /> ]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/100793/1226197/reprojeto-towel-autofiltro-em-jtable
</guid>
				<link>http://www.guj.com.br/prepost/100793/1226197/reprojeto-towel-autofiltro-em-jtable
</link>
				<pubDate><![CDATA[Sun, 3 Apr 2011 20:05:31]]> GMT</pubDate>
				<author><![CDATA[ tiago1988]]></author>
			</item>
			<item>
				<title>Re:Projeto Towel: AutoFiltro em JTable</title>
				<description><![CDATA[ Cara muito bacana o Auto-Filtro mas eu quero saber se tem como eu adicionar um novo filtro tipo onde eu escolha de tal dia até tal dia e ele deixe no grid apenas os registros pertencentes periodo, queria saber se é possivel implementar isso na classe TableFilter se sim deem uma dica to perdido aqui.]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/100793/1349605/reprojeto-towel-autofiltro-em-jtable
</guid>
				<link>http://www.guj.com.br/prepost/100793/1349605/reprojeto-towel-autofiltro-em-jtable
</link>
				<pubDate><![CDATA[Mon, 21 Nov 2011 12:11:42]]> GMT</pubDate>
				<author><![CDATA[ rafaelzini]]></author>
			</item>
			<item>
				<title>Re:Projeto Towel: AutoFiltro em JTable</title>
				<description><![CDATA[ Marky.Vasconcelos,<br /> <br /> Estava tentando utilizar a sua classe <br /> http://code.google.com/p/markutils/source/browse/trunk/src/mark/utils/swing/table/Resizer.java<br /> para ajustar a largura da coluna conforme o conteúdo carregado no model, mas não funcionou aqui.<br /> <br /> Fiz algumas mudanças, mas apenas para conteúdo onde é String. Segue o código abaixo.<br /> <br /> [code]import javax.swing.JTable;<br /> import javax.swing.table.TableColumn;<br /> import javax.swing.table.TableColumnModel;<br /> import javax.swing.table.TableModel;<br /> <br /> public class Resizer {<br /> 	<br /> 	private static final int STRING_WIDTH = 6;<br /> 	/**<br /> 	 * Método que ajuasta a coluna conforme da JTable conforme o tamanho do<br /> 	 * conteúdo carregado no model<br /> 	 * <br /> 	 * @param coluna<br /> 	 *            Recebe a coluna que sera redimensionada<br /> 	 * @param margin<br /> 	 *            espaço de bonus colocado caso a contagem dos campos esteja<br /> 	 *            errada<br /> 	 * @param tabela<br /> 	 *            tabela que será implementada o redimensionamento<br /> 	 */<br /> <br /> 	public static void fitColumn(int coluna, JTable tabela) {<br /> 		TableColumnModel colModel = tabela.getColumnModel();<br /> 		TableColumn col = colModel.getColumn(coluna);<br /> 		TableModel model = tabela.getModel();<br /> 		int chars = 0;<br /> 		for (int i = 0; i &lt; model.getRowCount(); i++) {<br /> 			Object value = tabela.getValueAt(i, coluna);<br /> 			if (value instanceof String) {<br /> 				String text = (String) value;<br /> 				if (text.length() &gt; chars) {<br /> 					chars = text.length();<br /> 				}<br /> 			}<br /> 		}<br /> 		col.setMinWidth(chars * STRING_WIDTH);<br /> 	}<br /> <br /> 	public static void fitAllColumns(JTable table) {<br /> 		TableColumnModel colModel = table.getColumnModel();<br /> 		for (int i = 0; i &lt; colModel.getColumnCount(); i++)<br /> 			fitColumn(i, table);<br /> 	}<br /> }[/code]]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/100793/1384259/reprojeto-towel-autofiltro-em-jtable
</guid>
				<link>http://www.guj.com.br/prepost/100793/1384259/reprojeto-towel-autofiltro-em-jtable
</link>
				<pubDate><![CDATA[Sat, 4 Feb 2012 13:45:15]]> GMT</pubDate>
				<author><![CDATA[ jean.zunino]]></author>
			</item>
			<item>
				<title>Re:Projeto Towel: AutoFiltro em JTable</title>
				<description><![CDATA[ [b]jean.zunino [/b]<br /> Isso era um probleminha conhecido que ficou de ser visto nas futuras revisões. ]]></description>
				<guid isPermaLink="true">http://www.guj.com.br/prepost/100793/1384315/reprojeto-towel-autofiltro-em-jtable
</guid>
				<link>http://www.guj.com.br/prepost/100793/1384315/reprojeto-towel-autofiltro-em-jtable
</link>
				<pubDate><![CDATA[Sat, 4 Feb 2012 17:28:57]]> GMT</pubDate>
				<author><![CDATA[ Ironlynx]]></author>
			</item>
	</channel>
</rss>
