Como aceitar espaços em JtextFiel sem criar documentoPlain? [RESOLVIDO]

Em algumas procuras, conseguir fazer com que o meu jpanel do meu jframe aceitasse apenas letras.
Só que surgiu um pequeno problema: Não aceita espaço
Dei uma olhada em alguns problemas, porém não quero criar uma nova classe. Quero tudo no mesmo documento!
No meu código: Cadastra_professor,
fiz três importações:

import javax.swing.JFormattedTextField; import javax.swing.JTextField; import javax.swing.text.MaskFormatter;
para poder ultilizar o metódo:

[code] public MaskFormatter setMascara(String mascara) {
MaskFormatter mask = null;
try {
mask = new MaskFormatter();
}
catch (ParseException e) {

          e.printStackTrace();  
      }  
      return mask;  
  }  [/code]

e fiz isso:

[code] // tentando impedir numeros no campo nome!

if(professor.getNome()!=null)
	{
nome = new JFormattedTextField(
	
	setMascara("ABCDEFGHIJLMNOPQRSTUVXZYWKabcdefghijlmnopqrstuvxzwyk" +
			" , ") // tentativa de colocar o espaço
    );
	JOptionPane.showMessageDialog(null,"O campo nome só pode conter letras!");

	}

[/code]

Funciona, com as letras, mas ele não aceita o espaço;

Digitar em um JPanel?? não seria digitar em um campo textfield??

Tenta criar um Document, que eu acho melhor do que criar mascaras… procura por Document aqui no GUJ mesmo, tem vários tópicos falando sobre isso…

é Jtext mesmo!rsrsrs.
Só que meu projeto já é bem comprido ,e essa classe já vem estendendo de outras.
Não quero aumentar por que vai complicar.
Prefiro ficar só nos metodos. Mesmo por que eu olhei mas não consigo entender os códigos.

setMascara("ABCDEFGHIJLMNOPQRSTUVXZYWKabcdefghijlmnopqrstuvxzwyk" +  " ") // já tentou colocar aqui apenas o espaço em branco??

já, mas ele vê como se o campo estivesse nulo.

tenta esse… ao inves de uma mascara…

texto = new JTextField(); texto.addKeyListener(new KeyAdapter() { public void keyTyped(KeyEvent e) { if ((Character.isLetter(e.getKeyChar())) && (e.getKeyChar() == e.VK_SPACE)){ //seu código aqui... } } });

Naada feito :frowning:

peço-lhe desculpas pois postei o código sem testar, testei agora mesmo e deu certo… segue…

[code] seuTextfield.addKeyListener(new KeyAdapter() {

        public void keyTyped(KeyEvent e) {
            if ((!Character.isLetter(e.getKeyChar())) && (e.getKeyChar() != e.VK_SPACE)) { 
                e.consume();
            }
        }
    });[/code]

coloca esse código ao iniciar a sua tela

[code] public boolean validaCaracteres(String item, String strValida) {
// Variaveis para auxilio
String auxStr = “”;
char auxCode;

      // Faz um laco para percorrer a string em busca de caracteres invalidos  
      for (int i=0; i<item.length(); i++) {  
          auxStr = item.substring(i, (i + 1));  
          auxCode = auxStr.charAt(0);  
          if((auxCode != 13)&&(auxCode != 10)&&(auxCode != 0)&&(auxCode != 8)) {  
              if (strValida.indexOf(auxStr) == -1) {  
                  // Retorna false se encontrar algum caracter nao permitido  
                  return false;  
              }  
          }  
      }  
        
      // Retorna true se estiver tudo certo  
      return true;  
  }  [/code]

O que eu tenho que mudar nesse código para não aceitar numeros?

Esse código ai eu não conheço, mas você testou o meu código acima??? eu mesmo testei e deu certo

coloca esse código ao iniciar a sua tela ?
onde isso?
no main?
na tela do cadastro_professor?

onde voce quiser… faz assim no cria um método que vai ser chamdo pelo construtor da tua tela exemplo;

[code] public construtorTela(){
this.adicionaKeyListener();
}

private void adicionaKeyListener(){
JTextField seuTextField = new JTextField();//aqui só estou criando mas você pode colocar o seu text field que voce criou…
seuTextfield.addKeyListener(new KeyAdapter() {

       public void keyTyped(KeyEvent e) {  
           if ((!Character.isLetter(e.getKeyChar())) && (e.getKeyChar() != e.VK_SPACE)) {   
               e.consume();  
           }  
       }  
   }); 

}
[/code]
caso nao consiga poste o código da tua tela que eu te indico como fazer…

Está usando o Eclipse ou o Netbeans?? Ou algum outro???

Pô, valeu mesmo.
Problema Resolvido!
(:

que bom… mas você demorou para testar hein!
hehe