Aew galera tenho uma jtable onde apenas uma coluna é possivel entrar com valores numericos por exemplo de quantidade, que ao ser digitado uma quantidade e apertar enter desejo que atualize uma outra celulacom total * qtd implementei o table model e funcionou mas apenas quando seleciono outra linha ele atualiza o valor da celula…segue o table model que implementei
[code]public class SaldoInicialModel extends AbstractTableModel {
private List<EstoqueMovimentacaoItem> tabela;
private String[] colunas = {"Código", "Produto", "Local Estoque",
"Status Estoque", "Saldo", "Valor Unitário", "Valor Total"};
private Class[] types = new Class[]{
java.lang.String.class, java.lang.String.class,
java.lang.String.class, java.lang.String.class, java.lang.String.class,
java.lang.String.class, java.lang.String.class
};
private boolean[] canEdit = new boolean[]{
false, false, false, false, true, false, false
};
public SaldoInicialModel(List<EstoqueMovimentacaoItem> lista) {
this.tabela = lista;
}
@Override
public int getRowCount() {
return tabela.size();
}
@Override
public int getColumnCount() {
return colunas.length;
}
@Override
public Object getValueAt(int row, int col) {
EstoqueMovimentacaoItem obj = tabela.get(row);
switch (col) {
case 0:
return obj.getProduto().getId();
case 1:
return obj.getProduto().getDescricao();
case 2:
return obj.getEstoqueMovimentacao().getEstoqueLocal().getDescricao();
case 3:
return obj.getEstoqueMovimentacao().getEstoqueStatus().getDescricao();
case 4:
return obj.getQtd();
case 5:
return ArrangeFields.decimals(obj.getVlunit(), 2, ",");
case 6:
return ArrangeFields.decimals(obj.getVlproduto(), 2, ",");
default:
return null;
}
}
@Override
public String getColumnName(int col) {
return colunas[col];
}
@Override
public Class getColumnClass(int c) {
return types[c];
}
@Override
public boolean isCellEditable(int row, int col) {
return canEdit[col];
}
@Override
public void setValueAt(Object aValue, int row, int col) {
EstoqueMovimentacaoItem obj = tabela.get(row);
switch (col) {
case 4:
if (Double.parseDouble(aValue.toString()) > 0) {
obj.setQtd(Double.parseDouble(aValue.toString()));
obj.setVlproduto(obj.getVlunit() * obj.getQtd());
} else {
JOptionPane.showMessageDialog(null, "Informe um valor no saldo maior que 0.");
}
break;
}
}
}[/code]
Como eu faço para que ao apertar enter depois de entrar com o valor na celula de edicao ja atualize a celula com o valor * oq eu digitei ao indes de ter de trocar de linha para que isso aconteça?
Obrigado.