Santhell (ou alguém mais),
você pode exemplificar com código, só pra entender melhor.
Antes, 1 exemplo: digito 1 valor no TF1, teclo ENTER; o valor é passado para um método que o converte p/ BigDecimal. Assim, o valor aparece formatado no TF1 e, finalmente, o foco vai para o TF2 (requestFocus). E assim sucessivamente até o TF3.
Quando teclo ENTER no TF3, o foco vai p/ TF4 (que tem um método somar() os 3 valores em 1 evento FocusGained, ou seja, assim que o cursor ir para o TF4, ele soma() e apresenta o resultado no TF4).
Está funcionando desde que a soma < mil e/ou em qq 1 dos campos o valor tb seja <mil, pq ele formata mil, por ex, como ‘1,000.00’. Enfim, a vírgula lança uma exceção NumberFormatException, que eu já tratei, mas mesmo assim ainda não soma.
Obrigado pela atenção.
[quote=Santhell][quote=jMarcel]Ok. Entendo que é possível a conversão para DecimalFormat. Mas, serei mais específico:
Tenho 3 textfields para o usuário inserir valores.
Ele digita o valor no TF1 e tecal ENTER;
Ele digita o valor no TF2 e tecal ENTER;
Ele digita o valor no TF3 e tecal ENTER;
No TF4, ao ganhar o focus (evento FocusGained), quero que apareça o resultado da soma TF1+TF2+TF3.
private void solicitadoTextFieldFocusGained(java.awt.event.FocusEvent evt) {
String xTF = (tf1.getText());
String yTF = (tf2.getText());
String zTF = (tf3.getText());
BigDecimal x = new BigDecimal(xTF);
BigDecimal y = new BigDecimal(yTF);
BigDecimal z = new BigDecimal(zTF);
BigDecimal soma = (x + y + z);
tf4.setText("R$ " + soma.toString());
}
Obrigado pela atenção.
[quote=Santhell]DecimalFormat df = new DecimalFormat("0.00") //<- Adicione aqui a expressão pro DF
jTextField1.setText(df.format(A variavel big decimal));
Pronto acho que é isso[/quote][/quote]
Tente criar um ActionListener para cada TextField, para quando o usuário apertar enter o programa pegar o valor do TextField
Abraços[/quote]