Entrada de dados numérica formatada 999.999,99 de novo

0 respostas
ronaldoguj

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]

Criado 26 de fevereiro de 2011
Respostas 0
Participantes 1