Boas,
Tenho uma tela onde há os seguintes campos valor negociado e quantidade de parcelas, todos eles são <p:inpuText />.
Gostaria que o campo valor prestação fosse calculado automaticamente após informas as parcelas.
<p:outputLabel for="valorNegociado" value="#{bundle.valorNegociado}" />
<p:inputText id="valorNegociado" value="#{matriculaBean.matricula.valorNegociado}" requiredMessage="#{bundle.valorNegociado_required}" required="true" styleClass="dinheiro" >
<f:convertNumber type="currency" pattern="#0.00"/>
</p:inputText>
<p:outputLabel for="qtdeParcela" value="#{bundle.qtdeParcela}" />
<p:inputText id="qtdeParcela" value="#{matriculaBean.matricula.qtdeParcela}" maxlength="2" requiredMessage="#{bundle.qtdeParcela_required}" required="true" style="width:100px;">
<f:validateLongRange minimum="1" maximum="12"/>
<p:ajax update="valorParcela" listener="#{matriculaBean.calculaValorParcela}"></p:ajax>
</p:inputText>
<p:outputLabel for="valorParcela" value="#{bundle.valorParcela}" />
<p:inputText id="valorParcela" value="#{matriculaBean.matricula.valorParcela}" requiredMessage="#{bundle.valorParcela_required}" required="true" styleClass="dinheiro" >
<f:convertNumber type="currency" pattern="#0.00"/>
</p:inputText>
Abaixo o trecho do ManagedBean:
public void calculaValorParcela(){
if(this.matricula.getValorNegociado() ==null || this.matricula.getQtdeParcela() == null)
return;
BigDecimal parcela = BigDecimal.valueOf(this.matricula.getValorNegociado().doubleValue() / this.matricula.getQtdeParcela());
this.matricula.setValorParcela(parcela);
return;
}