Formatar CPF com SWT

1 resposta
arthurgon

Olá pessoal;

Estu com um grande problema. Já perguntei em outros fóruns e não tive resposta. Preciso usar uma máscara para formatar um campo do tipo TextField em SWT. Utilizei o NEBULA do SWT e funcionou legal para os campos DATA, mas o campo CPF não tá rolando. Ele não me deixa formatar que não seja com vírgulas, e a idéia seria que aparecesse o campo CPF preenchido corretamente no padrão usado

EX: 000.000.000.00

Esseé o código que estou usando:

private FormattedText textDocumento = null;


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 FormattedText(this, SWT.BORDER);
		textDocumento.getControl().setBounds(new Rectangle(195, 260, 150, 25));
		textDocumento.getControl().setTextLimit(20);
		
                ////Essa é a única validação que o "nebula.widgets.formattedtext.NumberFormatter" me permite\\\\\\
                textDocumento.setFormatter(new NumberFormatter("--###,###,###"));
		
		textDocumento.getControl()
				.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.getControl().setText(Util.formatarCpf(textDocumento.getControl()
								.getText()));

					}
				});
Espero que alguem de vocês conheça SWT.

Valeu gente.

1 Resposta

L

Fala Arthur,

Estou começando a conhecer o nebula, e gostaria de tirar algumas duvidas.
É possivel visualizar o FormattedText no shell quando você está desenvolvendo?
Por que quando altero o layout do shell para null o FormattedText não aparece quando executo a aplicação?
Caso conheça bem este pacote me de algums dicas.

Desde já obrigado!

Criado 24 de julho de 2008
Ultima resposta 6 de ago. de 2009
Respostas 1
Participantes 2