Como deixar o foco do text field maiúsculo ou minúsculo

3 respostas
W

Olá galera,
Estou fazendo um cadastro de cliente, quando o usuário esta cadastro que padronizar quero que fique tudo maiúsculo as informações do text field .
Alguem sabe como eu faço isso .

3 Respostas

abelgomes

rapaz…não se essa é a maneira ais facil de fazer mas pode colocar o evento keytyped acho que é esse…ai vc pega o texto e dar um upper case…cmom disse, nao sei se é a maneira mais facil de fazer pq ta com um tempo q nao mexo com swing…

leonardom

Segue um exemplo:

public class UpperCaseField extends JTextField {
 
     public UpperCaseField(int cols) {
         super(cols);
     }
 
     protected Document createDefaultModel() {
 	      return new UpperCaseDocument();
     }
 
     class UpperCaseDocument extends PlainDocument {
 
         public void insertString(int offs, String str, AttributeSet a) 
 	          throws BadLocationException {
 
 	          if (str == null) {
                      return;
 	          }
 	          char[] upper = str.toCharArray();
 	          for (int i = 0; i < upper.length; i++) {
                      upper[i] = Character.toUpperCase(upper[i]);
 	          }
 	          super.insertString(offs, new String(upper), a);
 	      }
     }
 }
kemperacc
leonardom:
Segue um exemplo:
public class UpperCaseField extends JTextField {
 
     public UpperCaseField(int cols) {
         super(cols);
     }
 
     protected Document createDefaultModel() {
 	      return new UpperCaseDocument();
     }
 
     class UpperCaseDocument extends PlainDocument {
 
         public void insertString(int offs, String str, AttributeSet a) 
 	          throws BadLocationException {
 
 	          if (str == null) {
                      return;
 	          }
 	          char[] upper = str.toCharArray();
 	          for (int i = 0; i < upper.length; i++) {
                      upper[i] = Character.toUpperCase(upper[i]);
 	          }
 	          super.insertString(offs, new String(upper), a);
 	      }
     }
 }

Aproveitando o exemplo do amigo, sugiro fazer assim:

public class UpperCaseDocument extends PlainDocument {
 
         public void insertString(int offs, String str, AttributeSet a) 
 	          throws BadLocationException {
 
 	          if (str == null) {
                      return;
 	          }
 	          char[] upper = str.toCharArray();
 	          for (int i = 0; i < upper.length; i++) {
                      upper[i] = Character.toUpperCase(upper[i]);
 	          }
 	          super.insertString(offs, new String(upper), a);
 	      }
     }

//para usar:

seuJTextField.setDocument(new UpperCaseDocument());

Assim nao muda nada para trabalhar na sua IDE.

Criado 26 de abril de 2010
Ultima resposta 26 de abr. de 2010
Respostas 3
Participantes 4