Como restringir caracter especial no jTextField?

Caros amigos,
já pesquisei bastante aqui no forum e não encontrei nada referente a restrição de caracteres dentro de um jTextField. Será que posso contar com a ajuda de vocês para solucionar o meu problema?

A idéia é, em um jTextField conter somente letras (Maiúsculas e/ou minúsculas) e números.

Motivo:
tenho um programa da empresa, onde vários operadores utilizam inserindo informações no banco de dados MySQL e alguns estão inserindo o caracter contra-barra (""), com isso os campos sucessores estão ficando em branco ou são gravados em colunas erradas. Por isso pretendo cortar o mal pela raiz.

desde já, agradeço a atenção e ajuda de todos.

http://java.sun.com/docs/books/tutorial/uiswing/components/formattedtextfield.html

valeu camarada
já estou verificando.

abs,

Olá!

Acho que a melhor maneira de fazer isso é criando uma subclasse de PlainDocument.
No metodo insert voce pode tratar o que o campo pode aceitar como números ou jogar as letras para UpperCase.

public class UpperCaseDocument extends PlainDocument {
 
         public void insertString(int offs, String str, AttributeSet a) throws BadLocationException {
 
 	          if (str == null) {
 		      return;
 	          }
 	          char[] upper = str.toCharArray();
 	          for (int i = 0; i < upper.length; i++) {
 		      upper[i] = Character.toUpperCase(upper[i]);
 	          }
 	          super.insertString(offs, new String(upper), a);
 	      }
     }

No seu textField, voce passa Document com text.setDocument.

[quote=Marck]Olá!

Acho que a melhor maneira de fazer isso é criando uma subclasse de PlainDocument.
No metodo insert voce pode tratar o que o campo pode aceitar como números ou jogar as letras para UpperCase.

public class UpperCaseDocument extends PlainDocument {
 
         public void insertString(int offs, String str, AttributeSet a) throws BadLocationException {
 
 	          if (str == null) {
 		      return;
 	          }
 	          char[] upper = str.toCharArray();
 	          for (int i = 0; i < upper.length; i++) {
 		      upper[i] = Character.toUpperCase(upper[i]);
 	          }
 	          super.insertString(offs, new String(upper), a);
 	      }
     }

No seu textField, voce passa Document com text.setDocument.

[/quote]

Muito Obrigado pela ajuda…
vou tentar inserir ao programa!

valeu mesmo!!!

abs,