textField

Como faço ao digitar no campo textfield para aceitar
somentes letras e espaço.

obrigado

Procure por regex.

Ola,

Na própria api do JTextField tem um exemplo manipulando o método insertString do Document, é por ali que vc faz isto de forma facil, no exemplo ele manipula de forma a só ter letras em maiusculo…

Dá uma olhada lá, qq duvida posta ae.

Exatamante como faluo BrunoCarlo.
Isto funciona, extendendo a classe PlainDocument, sobregravando insertString:

/*

  • MyTextField.java
  • Created on 24 de Junho de 2006, 00:50

*/

package testjava;

import javax.swing.JTextField;
import javax.swing.text.AttributeSet;
import javax.swing.text.BadLocationException;
import javax.swing.text.Document;
import javax.swing.text.PlainDocument;

------------------------------ INÍCIO DO CÓDIGO ----------------------

/**
*

  • @author Patrizio
    */
    public class MyTextField extends JTextField {

    /**

    • Construtor principal.
      */
      public MyTextField() {
      this("");
      }

    /**

    • Construtor 2.
      */
      public MyTextField(String text) {
      super(text);
      }

    /**

    • Override <code>JTextField</code>.
      */
      protected Document createDefaultModel() {
      return new LimitDocument();
      }

    /**

    • Inner class que representa um <code>PlainDocument</code> personalizado.
      */
      class LimitDocument extends PlainDocument {

      /**

      • Override <code>PlainDocument</code>.
        */
        public void insertString(int offs, String str, AttributeSet a) throws BadLocationException {
        for (int i = 0; i < str.length(); i++) {
        if (!Character.isLetter(str.charAt(i)) && !Character.isSpaceChar(str.charAt(i))) {
        return;
        }
        }

        super.insertString(offs, str, a);
        }

    }

}

------------------------------ FIM DO CÓDIGO ------------------------