Problemas com formatação de CPF

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.

Vixi cara, não entendi bulhufas do que você quis fazer aí.
Se você quer apenas formatar o TextField para receber campo numérico, com ‘.’ no lugar certo, utilize o MaskFormatter

new MaskFormatter("###.###.###-##").install(txtCpf);

Então…mas é que estou usando SWT. Essa resposta só serviria se fosse Swing. O fato é que o campo já aparece preenchido com ZEROs.

Ex: 000.000.000.00

Preciso que eles apareçam vazios para o usuário digitar o CPF.

Mas valeu pela atenção amigão.

tenta o setText(null)

Como assim? Em que momento eu deveria usar o setText(null)??
Eu estou usando ele apenas para chamar a formatação.

ta, pelo q entendi vc quer que qdo o usuário termine de digitar os 11 digitos do CPF ele fique formatado não é?

Caso positivo, coloca um evento para que qdo o tamanho for 11 ele execute o método…

while (cpf.length() < 12) {
cpf = " " + cpf; <— tenta fazer assim… botando apenas um espaço em vez de um 0
}