Escrever somente letras maiúsculas em dois JTextFields

5 respostas
java
F

caros, boa tarde, Alguém pode me ajudar ?

Tenho dois JtextFields (txttomatual e outro txtnovotom) , gostaria que só pudesse escrever nestes JtextFields somente as letras ( A,B,C,D,E,F,G ou A#,B#,C#,D#,E#,F#,G#) , todas em maiúsculas, depois eu farei estas Strigs serem usadas em meu código para comparações.

Obrigado

Armando

5 Respostas

Jothar_Aleksander

Para converter tudo em caixa alta (à medida que digita):

/*
 * Transforma o texto digitado na caixa de texto em maiúscula
 */
package util;

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

/**
 *
 * @author JFSJUNIOR
 */
public class DocumentoCaixaAlta extends PlainDocument{
    @Override
    public void insertString(int offset, String str, AttributeSet attr) 
            throws BadLocationException{
        if(str == null)
            return;
        super.insertString(offset, str.toUpperCase(), attr);
    }
}

Para usar, depois do initComponents(). escreva:

jTextField.setDocument(new DocumentoCaixaAlta());

F

Oi amigo, obrigado pela pronta resposta, como fazer para as letras ficarem maiúsculas eu tá tinha visto agora como eu faço para aceitar somente os caracteres A,B,C,D,E,F,G e A#,B#.C#,D#,E#,F#,G# ???

Muito obrigado.

F

Amigo,

Teria alguma propriedade do JtextField que eu poderia usar para fazer que as letras ficassem maiúsculas ao digita-las??? Pensei em usar IF ou CASE para só aceitar as letras, A,B,C …seria possível ???

F

Amigo,

Letras em Maiúsculas, já esta funcionando, muito bom, agora digitar somente as letras que eu quero seria difícil ??? Muito obrigado, vlw !

Armando

staroski

Pôxa, é só você mudar a implementação do método insertString
Se a String str não for válida, você retorna null
Senão você chama o super.insertString(offset, str, attr).

Criado 15 de setembro de 2019
Ultima resposta 18 de set. de 2019
Respostas 5
Participantes 3