Fiz o codigo abaixo para que um textfield ficar sempre mausculo, mas pra fazer todos os meus textfields (um cadastro de produto) ficarem maiusculos, como seria esse metodo ?
** estou usando o NetBeans
O JFormattedTextField recebe a mascara como parametro.
tLogin = new JFormattedTextField(criaMascara("AAAAAAAAAAAAAAA"));
Vc seta essa propriedade para o usuario n ser obrigado a digitar (neste caso) 15 caracteres, sendo assim o usuario poderá digitar de 0-15 caracteres apenas limitando o seu TextField.
# Any valid number, uses Character.isDigit. ’ Escape character, used to escape any of the special formatting characters. U Any character (Character.isLetter). All lowercase letters are mapped to upper case. L Any character (Character.isLetter). All upper case letters are mapped to lower case. A Any character or number (Character.isLetter or Character.isDigit) ? Any character (Character.isLetter). * Anything. H Any hex character (0-9, a-f or A-F).
Espero ter ajudado!
Edit: No seu caso vc usaria L, assim quando o usuario degitar qq carcter ja vai ser automaticamente passado para Uppercase.
Outra opção eh vc fazer o seginte:
[code]
public String getLogin(){
return this.tLogin.getText().toUpperCase();
}[/code]
Na biblioteca String temos 2 metodos: toUpperCase() para passar toda string para Maiusculo e toLowerCase para minusculo
o meu fonciona, o problema é tenho uma tela com muitos jtextfields, e como esta o meu codigo, teria q fazer esse codigo para cada jtextfield, queria saber como fazer atraves de um metodos, para q todos o jtextfields só aceitasse maiusculo.
como tenho um monte de jtextfields, fiz um array deles, se eu usar a mascara tem q ser com o jformatedtextfield, ai fica fora do array…
mesmo usando mascara, teria q fazer uma mascara pra cada jformatedtextfield, mas nao quero isso, quero um metodo que funcione pra todos, vou analisar o codigo q o colega mandou acima.
Amigo trabalhar com array de textfield n eh a melhor opção! Em uma aplicação maior se vc tivesse uns 3 ou 4 arrays de textfield vc ia fazer tanta confusão para saber qual seria o tf q vc taria procurando. Mas para vc n seria tanto problema pois foi vc que fez, mais pensa se outra pessoa fosse le seu codigo, o ideia eh criar tf 1 por 1 e dando nomes semelhantes ao seu uso para facilitar a manutenção.
Tente sempre fazer 1 codigo limpo, mesmo q vc diga q para esse aplicação so vc vai ter acesso, eh sempre bom treinar como fazer um codigo mais limpo possivel!
phiny, ate concordo contigo, mas tratar tf por tf deixa o codigo muito extenso e talves ate mais pesado,o q vc acha disso ?, nessa minha aplicacao tenho 19 tfs, da muito trabalho tratar um por um, mas com certeza o codigo deve ficar limpo
Cara… em programação vc pensa em manutenção tb. Se o programa fica um pouquinho mais extenso, e facilita a manutenção eh a melhor opção. Se todos fossem falar q o programa tem q ser pequeno, ninguem usaria MVC, ninguem usaria VO e DAO.
19 tf eh muito pouco para vc ficar falando q da muito trabalho… se vc falasse q era 100 ate q ia. Mas ja que vc ta com preguiça de ficar fazendo 1 por 1, crie 1 metodo para cria-los, ainda sim eh melhor do q usar array!
public JFormattedTextField criaTf(String mascara){
JFormattedTextField t = new JFormattedTextField(criaMascara(mascara));
.]
.
.
}
Estou pretendendo fazer isso… como ficaria no form todo… ?
como usar esse código ai em cima ?
public void validaCase(FacesContext fc, UIComponent component, Object value) {
String valor = value.toString();
if (!valor.matches("[A-Z].*")) {
throw new ValidatorException(new FacesMessage(
"Inicie o nome com letra maiúscula!"));
}