Algum erro específico? Ou simplesmente não funciona?
L
looljunior
Cara… tem que dizer exatamente qual eh o erro que está dando
mas te dou uma dica
verifica no value
o que está passando por ali
System.out.println("Esta passando "+value);
olhe no console… e veja se realmente esta passando valores com " 0,56"… " 1,78"
etc… etc…
pode se que algum valor esteja vindo null
então tera que criar uma condição para tratar isso…
enfim…
para podermos ajuda-lo tens que colocar exatamente qual eh o erro…
abraço
P
pcjardim
Ao meu ver o erro se da na hora da conversão, separei a linha das conversões pra identificar em que parte especificamente estava o erro, deixei a classe assim:
Pra mim o erro esta na linha 198 qdo estou tentando converter para double. No exemplo que peguei o conteúdo era String, no meu caso tenho um double armazenado no BD. Resumindo não estou sabendo como fazer isso.
P
Puka
É preciso testar a String antes de dar o replace.
Aqui sua String não tem nada, está vazia: empty String
O problema era na segunda vez que o método era chamado, realmente estava vazia a string, e eu estava achando que o ero estava na primeira vez…
vlw pelas dicas…
sf.marcius
cara, nunca duvide do poder da burrice do usuário!
talvêz teu código seja só para estudos e somente tu irá utilizá-lo, mas vai por mim… é bom a aprender a blindar ele contra usuários…
vc testou tua String contra " ". se o vivente nao digitar nada, ou digitar " " ou digitar "ABC…" vai dar pau.
Use a exception que te retornava então!
classColorirextendsJLabelimplementsTableCellRenderer{publicComponentgetTableCellRendererComponent(JTabletable,Objectvalue,booleanisSelected,booleanhasFocus,introw,intcolumn){Stringa=value.toString();a=a.replaceAll(",",".");try{doublea1=Double.parseDouble(a);if(a1<5.0){setForeground(Color.RED);}else{setForeground(Color.GREEN);}setText(value.toString());}catch(NumberFormatExceptionex){System.out.println("A String dada não é um Double válido: "+a);setForeground(Color.BLACK);setText("");}returnthis;}publicvoidvalidate(){}publicvoidrevalidate(){}protectedvoidfirePropertyChange(StringpropertyName,ObjectoldValue,ObjectnewValue){}publicvoidfirePropertyChange(StringpropertyName,booleanoldValue,booleannewValue){}}
[]S
P
pcjardim
Correto, obg pela dica!!!
mas nesse caso ele ja esta lendo os dados do BD, o lance de digitar qquer coisa eu trato qdo vou inserir. Nesse caso é que minha tabela exibe uma coluna com DÉBITOS e outra com CRÉDITOS, qdo leio no BD se o valor é referente a CRÉDITO a célula da coluna DÉBITO fica vazia… então só tem a possibilidade de ter um double ou o " ". Por isso não me preocupei.