Olá pessoal;
Estou com um problema de formatação de um textField que deve receber um numero de CPF. O problema é que
o campo aparece completado com zeros. Minha idéia é que o usuário digite o CPF respeitando a máscara.
Como faço para que esses ZEROS não apareçam?
O código está assim:
///////Esse é o método//////
[code]public class Util {
/*
* 2. * realiza a formatação do valor de acordo com a mascara enviada 3.
*/
public static String formatar(String valor, String mascara) {
String dado = "";
// remove caracteres nao numericos
for (int i = 0; i < valor.length(); i++) {
char c = valor.charAt(i);
if (Character.isDigit(c)) {
dado += c;
}
}
int indMascara = mascara.length();
int indCampo = dado.length();
for (; indCampo > 0 && indMascara > 0;) {
if (mascara.charAt(--indMascara) == '#') {
indCampo--;
}
}
String saida = "";
for (; indMascara < mascara.length(); indMascara++) {
saida += ((mascara.charAt(indMascara) == '#') ? dado
.charAt(indCampo++) : mascara.charAt(indMascara));
}
return saida;
}
public static String formatarCpf(String cpf) {
while (cpf.length() < 12) {
cpf = "0" + cpf;
}
return formatar(cpf, "###.###.###-##");
}
E essa é a classe que recebe o método:
labelDocumento = new Label(this, SWT.NONE);
labelDocumento.setBounds(new Rectangle(30, 260, 155, 25));
labelDocumento.setFont(new Font(Display.getDefault(), “Verdana”, 10,
SWT.BOLD));
labelDocumento.setText(" Documento…:");
textDocumento = new Text(this, SWT.BORDER);
textDocumento.setBounds(new Rectangle(195, 260, 150, 25));
textDocumento.setFont(new Font(Display.getDefault(), "Verdana", 10,
SWT.BOLD));
textDocumento.setTextLimit(20);
textDocumento
.addVerifyListener(new org.eclipse.swt.events.VerifyListener() {
public void verifyText(org.eclipse.swt.events.VerifyEvent e) {
if (e.keyCode != 0 && e.keyCode != SWT.DEL
&& e.character != SWT.BS
&& (e.character < 48 || e.character > 57)) {
e.doit = false;
}
}
});
radioCPF = new Button(this, SWT.RADIO);
radioCPF.setBounds(new Rectangle(195, 182, 150, 15));
radioCPF
.setFont(new Font(Display.getDefault(), "Verdana", 12, SWT.BOLD));
radioCPF.setText("CPF");
radioCPF
.addSelectionListener(new org.eclipse.swt.events.SelectionAdapter() {
public void widgetSelected(
org.eclipse.swt.events.SelectionEvent e) {
textDocumento.setText(Util.formatarCpf(textDocumento
.getText()));
}
});[/code]
Alguem sabe como me livro desses Zeros??
Valeu.