Galera,
Tenho um JTable, que é populada com o banco, exsite o campo quantidade, o qual aparece na JTable e o campo QuantidadeCritica que não é visivel na tabela.
Preciso que, quando quantidade < quantidadeCritica, minha linha fique com uma cor diferenciada.
Na minha facade tenho o techo de codigo da função que popula minha JTable:
if (((ProdutoBean) bean).getQuantidade() < ((ProdutoBean) bean).getQuantidadeCritca()) {
dtm.addRow(new Object[]{((ProdutoBean) bean).getCodigo(), ((ProdutoBean) bean).getDescricao(), DateUtil.formataDataPt((((ProdutoBean) bean).getDataValidade())), this.quantidade});
}
O seguinte codigo, que alias peguei de um exemplo aqui no Guj:
tabela.setDefaultRenderer(Object.class, new DefaultTableCellRenderer() {
@Override
public Component getTableCellRendererComponent(JTable table, Object value,
boolean isSelected, boolean hasFocus, int row, int column) {
super.getTableCellRendererComponent(table, value, isSelected,
hasFocus, row, column);
if (row == 2) {
setBackground(Color.GREEN);
} else {
setBackground(null);
}
return this;
}
}
A pergunta é: Existe uma maneira para que quando a Jtable estiver sendo populada no codigo, ela retorne a linha a qual populou ?
Minha ideia era colocar, estas linhas em um arrayList e assim colocar um loop no segundo codigo para mudar a cor das linhas.
Existe uma maneira mais facil ?
O principal seria, eu saber em quais linhas encontram-se determinados valores
Desde já, agradeço! :wink:
