Eu quero fazer uma entrada de dados numérica no estilo calculadora 0,00. Quando o usuário digitar a vírgula(,) automaticamente a digitação pula para o lado decimal do número. Já me deram algumas dicas aqui no fórum e até uma apostila com exemplos de máscara. Mas, ainda não é o que eu quero. O que eu preciso é que apareça no componente o número 0,00 e a digitação dos números ocorra seguindo a ordem o campo. Abaixo eu fiz um exemplo de entrada formatada. Só que o campo é string e só aceita números. A máscara é a que eu quero. Mas a digitação não sai do jeito que eu quero.
import javax.swing.<em>;
import javax.swing.text.</em>;
import java.awt.<em>;
import java.awt.event.</em>;
import java.text.*;
public class ExemploNumFormat extends JFrame {
JLabel rotulonum;
JFormattedTextField num;
MaskFormatter mascaranum;
public ExemploNumFormat() {
super(“Exemplo com JFormattedTextField”);
Container tela = getContentPane();
setLayout(null);
rotulonum = new JLabel("Numero:");
rotulonum.setBounds(50,40,100,20);
try {
mascaranum = new MaskFormatter("###,###,###.##");
mascaranum.setPlaceholderCharacter('_');
}
catch(ParseException excp){}
num = new JFormattedTextField(mascaranum);
num.setBounds(150,40,100,20);
tela.add(rotulonum);
tela.add(num);
setSize(400,170);
setVisible(true);
}
public static void main(String [] args) {
ExemploNumFormat app = new ExemploNumFormat();
app.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
}
Alguém pode me ajudar? Tô precisando desenvolver um aplicativo comercial e tô agarrado nessa digitação.
Ronaldo César
[email removido]