Estou criando um JFormattedtextField com máscara ###,##.
Só que quando ele recebe o foco ele começa a colocar os dígitos da esquerda para a difeita. Estes dias eu vía uma aplicação java onde a medida que eu digitava o valor ele ia inserindo da direita para a esquerda…
assim se eu for digitar 123,45 ele vai aparecendo, a cada dígito:
, 1
,12
1,23
123,4
123,45
gostaria que fosse assim… tentei o alinhamento mas não funciona
Qual import eu preciso fazer? Tentei pegar o RIGHT_TO_LEFT de JComponent, JFormatTextField, etc… ele sempre acusa que não encontrou a palavra ComponentOrientation
Eu estava mandando uma mensagem dizendo que encontrei quando vc respondeu…
mas eu tive outro problema…
se a máscara é ###,## … quando eu começo a digitar somente após o terceiro dígito ele passa para depois da vírgula, e mesmo assim somente depois no final…
e se eu quiser digitar 12,10? ele ficará 121,0
gostaria que realmente fosse como eu disse… se eu digitar 141 ele , a medida que vai para a esquerda, complete com 1,41…
segue meu codigo!
private void DefinirValor(final int Quant, final int CasasDecimais){
String str = "";
for(int i = 0; i < Quant ; i++)
str += "#";
String str2 = "";
for(int i = 0; i < CasasDecimais ; i++)
str2 += "#";
str += ",";
str += str2;
this.setHorizontalAlignment(javax.swing.JTextField.RIGHT);
this.setComponentOrientation(java.awt.ComponentOrientation.RIGHT_TO_LEFT);
try{
MaskFormatter format = new MaskFormatter(str);
format.setValidCharacters("0123456789");
format.install(this);
}
catch(Exception ex){
System.out.println(ex.getStackTrace());
}
}