Bom to seguindo alguns exemplos aqui do GUJ mais garrei aqui no método nao sei como implementar, me ajudem?
packagecom.mascarenhas.model.tables;importjava.awt.Color;importjava.awt.Component;importjavax.swing.JTable;importjavax.swing.table.TableCellRenderer;publicclassMyCellRendererimplementsTableCellRenderer{privateColorcor1;privateColorcor2;publicMyCellRenderer(){this.cor1=Color.BLUE;this.cor2=Color.WHITE;}@OverridepublicComponentgetTableCellRendererComponent(JTablearg0,Objectarg1,booleanarg2,booleanarg3,introw,intcolumn){// isso foi o que eu pensei quando row for par colore de uma cor quando nao de outra. Mas nao sei se estar certoif(row%2==0){}}}
aqui como estou chamando a class mas tb nao se se esta certo :(
packagecom.mascarenhas.model.tables;importjavax.swing.table.TableCellRenderer;importjavax.swing.table.TableColumn;importcom.mascarenhas.view.Contrato1;publicclassColorirLinhaTable{publicvoidgetColorir(){TableCellRenderercellRenderer=newMyCellRenderer();introwCount=Contrato1.jTable.getRowCount();for(inti=0;i<rowCount;i++){TableColumncolumn=Contrato1.jTable.getColumnModel().getColumn(i);// aqui ele ta pegando a coluna nao e nao? Nao teria que pegar a linha?column.setCellRenderer(cellRenderer);}}}
Sei que é um pouco antigo este tópico mais estava quebrando a cabeça com o JTable, e este código funcionou pois quero usar com o Default sem precisar montar a tabela na mão com o TableModel pelo que estava entendendo com os outros fóruns o Default não pintaria a linha e tem poucos recursos, mas com este método addcor() pintou a linha sim.
valeu…
marcospaulo.suporte
Se for pintar apenas celulas dependendo da condição.
Eu apanhei mas consegui… segue:
jTable1.setDefaultRenderer(Object.class,newDefaultTableCellRenderer(){publicComponentgetTableCellRendererComponent(JTabletable,Objectvalue,booleanisSelected,booleanhasFocus,introw,intcolumn){Componentcell2=super.getTableCellRendererComponent(table,value,isSelected,hasFocus,row,column);Componentcell=super.getTableCellRendererComponent(table,value,isSelected,hasFocus,row,column);Objectref2=table.getValueAt(row,jcoluna_setup);Objectref=table.getValueAt(row,jcoluna_percentual);//coluna percentualif(ref2!=null&&Integer.parseInt(ref2.toString().substring(3,5))>=05&&column==jcoluna_setup){cell2.setForeground(Color.WHITE);cell2.setBackground(Color.red);}elseif(ref!=null&&Integer.parseInt(ref.toString().substring(0,2))<=75&&column==jcoluna_percentual){cell.setForeground(Color.WHITE);cell.setBackground(Color.red);}elseif(ref!=null&&Integer.parseInt(ref.toString().substring(0,2))>=130&&column==jcoluna_percentual){cell.setForeground(Color.WHITE);cell.setBackground(Color.blue);JOptionPane.showMessageDialog(rootPane,"Percentual acima de 130%, você tem certeza disso? ");}else{cell2.setForeground(Color.BLACK);cell2.setBackground(Color.WHITE);}returnthis;}});