Boa noite, amigos!
Gostaria de mais uma “frescura” pra terminar meu aplicativo em NetBeans, minha cabeça já tá saindo fumaça.
Tenho um jTextField valor, e gostaria que ao digitar o valor, já aparecessem duas casas decimais.
Digitou: 10
Apareceu: 10,00
Achei um exemplo no guj, mas tô errando na última linha:
NumberFormat nf = NumberFormat.getInstance();
nf.setMinimumFractionDigits(2);
jTValor.setText(xxxxxxxxxx); // Não sei como terminar :(
Espero que possam me ajudar. Obrigado.
Acredito que o mais próximo do que você deseja na API padrão é a classe javax.swing.JFormattedTextField.
Se não servir, você deve tentar o OpenSwing antes de tentar fazer tudo na mão.
Depois faz um post com o resultado.
O JFormattedTextField já deve dar conta do recado.
Boa noite, pessoal!
Continuo não conseguindo. Certamente estou insistindo em algum erro.
Vejam a alteração que fiz:
String v = null;
NumberFormat nf = NumberFormat.getInstance();
nf.setMinimumFractionDigits(2);
jTValor.setText(v);
Não dá mais erro de compilação, mas meu aplicativo continua não recebendo automaticamente as casas decimais.
Por que será?
Abraço a todos!
[quote=evandro.santos]Acredito que o mais próximo do que você deseja na API padrão é a classe javax.swing.JFormattedTextField.
Se não servir, você deve tentar o OpenSwing antes de tentar fazer tudo na mão.
Depois faz um post com o resultado.[/quote]
tenta esse ae 1° e ver se da certo
Um exemplo:
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.text.DecimalFormat;
import java.text.ParseException;
import javax.swing.JButton;
import javax.swing.JFormattedTextField;
import javax.swing.JPanel;
public class FormattedTextFieldTest {
private static final DecimalFormat FORMAT = new DecimalFormat("0.00");
private static JPanel getPanel() {
JPanel panel = new JPanel();
final JFormattedTextField field = new JFormattedTextField(FORMAT);
field.setValue(0);
field.setColumns(10);
JButton button = new JButton("Imprime");
button.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
try {
double value = FORMAT.parse(field.getText()).doubleValue();
System.out.println(value);
} catch (ParseException e1) {
e1.printStackTrace();
}
}
});
panel.add(field);
panel.add(button);
return panel;
}
}
Adicione o painel gerado por getPanel em uma janela qualquer e veja o resultado.