Texto maiusculo

estou tendo fazer um campo digita só em maiúsculo só que não esta dando certo aguem pode me da uma ajuda…

fiz o seguinte criei uma classe so para fazer essa transformação para maiúsculo, e coloque o campo de texto para receber essa classe… so não esta funcionando.

essa e a classe

package imob;

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

/**
*

  • @author joao2
    */
    public class maiusculo extends PlainDocument{
    public void insetString (int offset, String str, javax.swing.text.AttributeSet attr)
    throws BadLocationException{
    super.insertString(offset, str.toUpperCase().replaceAll("[^a-z] | [A-Z] ^ “,”"),attr);
    }
    public void replace(int offset, String str, javax.swing.text.AttributeSet attr)
    throws BadLocationException{
    super.insertString(offset, str.toUpperCase().replaceAll("[^a-z] | [A-Z] ^",""),attr);

    }
    }

inicializando o campo

public Cadastro_cliente() throws Exception {
    initComponents();
     propri.setDocument(new maiusculo());
    conecta.conn();
   
}

coloca esse código dentro de um listener keyTyped

consegui fiz assim…

public void insertString( int offs, String str, AttributeSet a ) throws BadLocationException {
super.insertString( offs, str.toUpperCase(), a );
}