Campos formatados na digitação

Opa

Estou fazendo algumas coisas utilizando o Struts 1.x, e gostaria de saber como faço para deixar uma campo com uma formatação, ex.: tipo double, quando o usuário digitar 1,00 já criando a vírgula e preenchendo as duas casas decimais, sei o bean:write tem o format, mas é para a mostrar os dados. Teria q fazer isso na mão? Se sim, poderiam dar um exemplo?

Obrigado.

Você vai ter que fazer uma funcao javascript para este propósito…

Indico a voçê o forum do Gujs para este tipo de auxilio.

Até…

Alguém teria um exemplo de uma função javascript desse tipo?

Tenho uma classe desktop que faz isso, serve? é um JTextField modificado

opa, posta ae para q possamos dar uma olhada.

obrigado

[code]import java.awt.event.KeyEvent;
import java.awt.event.KeyListener;

/**
*

  • @author NETO
    */
    public class JDoubleField extends javax.swing.JTextField{

    private String value = “000”;
    /** Creates a new instance of JDoubleField */
    public JDoubleField() {
    super();
    instalar();
    setText(instalarMask(value));
    }

    public JDoubleField(String text) {
    instalar();
    super.setText(instalarMask(text));

    }

    private synchronized void atualizar(char key){
    if(key >= ‘0’ && key <=‘9’){
    value = value + key;
    }
    else
    if (key == ‘\b’){
    if(!value.equals(“000”) && value.length()>1)
    value = value.substring(0,value.length()-1);
    }
    }

    private synchronized String instalarMask(String value){
    if(value.charAt(0) == ‘0’){
    value = value.substring(1,value.length());
    }

     while(value.length()<3)
         value = "0" + value;
     
     
     this.value = value;
     return value.substring(0,value.length()-2) +  "," + value.substring(value.length()-2,value.length());
    

    }

    private void instalar(){
    super.setHorizontalAlignment(javax.swing.JTextField.TRAILING);
    super.addKeyListener(new KeyListener(){

         public void keyTyped(KeyEvent e) {
             atualizar(e.getKeyChar());
             setText(instalarMask(value));
             e.consume();
         }
    
         public void keyPressed(KeyEvent e) {
         }
    
         public void keyReleased(KeyEvent e) {
         }
         
     });
    

    }

    public double getValue() {
    String valor = getText().replace(’,’,’.’);
    return Double.parseDouble( valor );
    }

}[/code]