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()));
}
});
Valeu gente.