como faço para iniciar o preenchimento de um JTextField da Direita para a Esquerda e Completar os espaços vazios com zeros, sabendo que o JTextField em questão é um JFormattedTextField utilizando a máscara b[/b] para o cadastro do RG do cliente.
Olá wellington, Inicialmente a máscara está visível, mas se for o caso, posso alterar isso para ela aparecer penas quando o campo perder o foco. Mesmo assim ainda não tenho ideia de como fazer com que o campo seja preenchido a partir do lado direito e completar os espaços vazios (à esquerda) com zeros (suficientes) para completar o tamanho máximo que a máscara permite. Só utilizei a classe document uma vez para limitar a qde de caracteres de jTextArea. Vc não teria nehum exemplo “bobo” de como implementar isso que eu estou querendo agora? Agradeço!
É um trampinho fazer isso. Mas é possível usando a classe Document. Mas deve ser pensado o seguinte: A máscara ficará visível? A máscara irá aparecendo durante a digitação? Ou a máscara aparecerá apenas quando perder o foco, controlando apenas a quantidade máxima de caracteres (esta é a mais simples de fazer)?
Obs.: Você talvez se sinta escrevendo um editor de texto
O displayFormatter e editFormatter podem ser feitos através de implementações de DefaultFormatter.
O DefaultFormatter oferece o método protegido getDocumentFilter que você pode sobrescrever. Ele retorna um DocumentFilter que você pode extender e criar sua própria implementação (de modo similar a um Document).
Eu acho esta implementação mais elegante e funcional além de adicionar mais funcionalidades a seu componente. Entretanto, é um pouco mais trabalhosa de fazer.
E por favor, evite fazer formatação utilizando perda e ganho de foco. Além de não ser funcional, dependendo do comportamento desejado, pode não funcionar corretamente ou ser visualmente estranho.