Duvida para validar um campo de leitura de códigos de barra no SWT

Olá pessoal;

Estou aprendendo a mexer com SWT e tenho a seguinte dúvida:

Criei um textField para leitura de códigos de barra. Esse campo tem um limite de 18 posições.
Até aí ele atende ao que quero, mas na hora de validar essa regra, para o caso de alguem passar um código de barras menor ou mesmo tentar validar o campo vazio, eu tentei implementar em um botão “Confirma” algumas regras. O fato é que, o botão está validando qualquer quantidade no campo de leitura. Se coloco 3 posições, ele valida. Mesmo quando não preencho nada, ainda assim ele não vai para o “Else”.
Alguem pode me ajudar?

Valeu;

Esse é o código:

[code]private Button buttonConfirma = null;
private Text textLeitorBarra = null;

 // TEXT FIELD QUE RECEBE A LEITURA DO CÓDIGO DE BARRAS//  

textLeitorBarra = new Text(this, SWT.BORDER);
textLeitorBarra.setBounds(new Rectangle(285, 232, 363, 24));
this.textLeitorBarra.setTextLimit(18);

        buttonConfirma = new Button(this, SWT.NONE);  

buttonConfirma.setBounds(new Rectangle(525, 125, 120, 40));
buttonConfirma.setImage(new Image(Display.getCurrent(), getClass()
.getResourceAsStream("/imagem/b_toque_confirma.gif")));
buttonConfirma
.addSelectionListener(new org.eclipse.swt.events.SelectionAdapter() {
public void widgetSelected(
org.eclipse.swt.events.SelectionEvent e) {

             boolean valida;  
            if (textLeitorBarra.getTextLimit() == 18) {  
                 valida = true;  
                 Mensagem.setText("Ok!");  
                 System.out.println("Ok!");  
             }else{  
                 Mensagem.setText("Erro de leitura!");  
             }  

         }  
     });  [/code]

Se alguem souber…agradeço.

o seu getTextLimit() sempre será 18, já que vc setou ele como 18…

voce tem que usar um metodo que te dê o tamanho do campo digitado e nao o tamanho máximo.