Problemas com alinhamento

E a e pessoal!

Eu consegui fazer com que o preenchimento do campo seja feito da direita para esquerda.
Eu usei a classe ComponentOrientation
Porém ainda ficou um problema.
O código é esse:

new javax.swing.JFormattedTextField(); 
MaskFormatter m_unitario1 = null; 
try 
{ 
   m_unitario1 = new MaskFormatter("######,##"); 
} 
catch (Exception e) 
{ 
   e.printStackTrace(); 
} 
unitario1 = new javax.swing.JFormattedTextField(m_unitario1); 
unitario1.setComponentOrientation(java.awt.ComponentOrientation.RIGHT_TO_LEFT); 

O problema é o seguinte ele preenche da esquerda para a direita porém ele preenche assim:

1,
12,
123,
1234,
1234,5
1234,56

Ou seja o campo da vírgula é o último o preenchimento tem que ser assim:


,1
,12
1,23
12,34
123,45
1234,56

Igual o preenchimento de um caixa de banco. Cara esta muito trampo fazer isso já estudei vários tutoriais. Agora ficou esse problema alguém sabe corrigir?

A rigor um caixa de banco deveria preencher:

   0,00
   0,01
   0,12
   1,23
  12,34
 123,45
1234,56

e isso não se faz com MaskFormatter, mas fazendo “na unha”. Será que alguém tem isso pronto?

consegui fazer. Um amigo me passou um tutorial e meu deu uns toques e funcionou.

ficou assim:


public class MeuDocument extends PlainDocument{ 

public void insertString(int offs, String str, AttributeSet a) throws BadLocationException { 
String texto = getText(0,getLength()); 
if(texto.length()<7){ 
remove(0,getLength()); 
StringBuffer strBuf = new StringBuffer(texto.replaceAll(",","")+str); 
if(strBuf.length()<3) 
strBuf.insert(0,","); 
else 
strBuf.insert(strBuf.length()-2,","); 
super.insertString(0, strBuf.toString(), a); 
} 
} 
} 

moeda.setDocument(new MeuDocument());

Por padrão os JTextField tem uma formação chamado Document ou algo assim aí vc cria a classe com formatação que vc necessita e substitui igual o modelo que deixei acima.
Esse modelo faz justamante igual a um caixa de banco.
Se alguém conseguir deixar o código melhor será muito bem vindo.
Valeu