Como aceitar espaços em JtextFiel sem criar documentoPlain? [RESOLVIDO]
13 respostas
rafaelaalves
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:
// tentando impedir numeros no campo nome!if(professor.getNome()!=null){nome=newJFormattedTextField(setMascara("ABCDEFGHIJLMNOPQRSTUVXZYWKabcdefghijlmnopqrstuvxzwyk"+" , ")// tentativa de colocar o espaço);JOptionPane.showMessageDialog(null,"O campo nome só pode conter letras!");}
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…
rafaelaalves
é 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.
mauricionarcizo
setMascara("ABCDEFGHIJLMNOPQRSTUVXZYWKabcdefghijlmnopqrstuvxzwyk"+" ")// já tentou colocar aqui apenas o espaço em branco??
rafaelaalves
já, mas ele vê como se o campo estivesse nulo.
mauricionarcizo
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...
}
}
});
rafaelaalves
Naada feito
mauricionarcizo
peço-lhe desculpas pois postei o código sem testar, testei agora mesmo e deu certo... segue..
O que eu tenho que mudar nesse código para não aceitar numeros?
mauricionarcizo
Esse código ai eu não conheço, mas você testou o meu código acima??? eu mesmo testei e deu certo
rafaelaalves
coloca esse código ao iniciar a sua tela ?
onde isso?
no main?
na tela do cadastro_professor?
mauricionarcizo
onde voce quiser... faz assim no cria um método que vai ser chamdo pelo construtor da tua tela exemplo;
publicconstrutorTela(){this.adicionaKeyListener();}privatevoidadicionaKeyListener(){JTextFieldseuTextField=newJTextField();//aqui só estou criando mas você pode colocar o seu text field que voce criou...seuTextfield.addKeyListener(newKeyAdapter(){publicvoidkeyTyped(KeyEvente){if((!Character.isLetter(e.getKeyChar()))&&(e.getKeyChar()!=e.VK_SPACE)){e.consume();}}});}
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???