Minimos de caracteres em JtextField [RESOLVIDO]

4 respostas
R
Tenho um pedaço de código, que estou tentando obrigar que o campo nome do usuário seja digitado no minimo 6 caracteres!
private void cadastrarActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cadastrarActionPerformed

    professor.setNome( nome.getText() );
    if (professor.getNome().equals("") || professor.getNome() == null){
    	JOptionPane.showMessageDialog(null,"O Campo nome não pode ser nulo!");
    } //aqui começa a tentativa
    int Pnome;
    String aux;
    Pnome = Integer.parseInt(professor.getNome()); // tentei converter o para numero para contar
    if (Pnome<6 || Pnome>50) // teste
    {
   JOptionPane.showMessageDialog(null,"Seu nome tem de ser entre 6 a 50 caracteres");
        aux = Integer.toString(Pnome); //  tentando converter em string de novo
 // aqui era para ficar algo como professor.getNome() = aux;   mas  não  certo isso;	
    }

Tentei fazer uma coisa. Sei lá.
Preciso de um HELP (:
Valeu coleguinhas;

4 Respostas

E

O nome do seu professor é um número entre 6 e 50?

Em vez de usar Integer.parseInt, use .length(). O tamanho de uma string é dado pelo método .length().

R

entanglement

obrigadaaaaaaaa.
Você é um máximo.
É já tinham me dito que o length tinha essa função.
Porém não sabia nem onde usar e nem como.
Valeu aí.
Caso encerrado :slight_smile:

R

Agora, estou com um novo problema.

Como limitar meu campo , a receber apenas letras ?

Bjos

V

Para validar o número, use um InputVerifier:
http://download.oracle.com/javase/1.4.2/docs/api/javax/swing/InputVerifier.html

Para validar o tipo de dados que o JTextField recebe, use um Document:

(O exemplo acima limita a apenas números, mas é fácil adapta-los para aceitar só letras. E ele também impede mais do que X caracteres de serem digitados no JTextField).

Não trate por eventos, pois são facilmente burláveis. Eventos nem sempre disparam, ou diferem de plataforma para plataforma.

Criado 7 de outubro de 2011
Ultima resposta 7 de out. de 2011
Respostas 4
Participantes 3