Como fazer para configurar o uppercase em campos de texto e ícone padrão em uma janela no swing de forma que todas as outras acompanhem essa configuração?
Tenho um jframe que é a tela de login, um jframe que é a tela principal e o restante das janelas são Jdialog.
Para os campos de texto existem diversos tipos métodos que podem ser utilizados para isso, tanto uppercase como também limitar quantidade e tipos de caracteres que podem ser imputados nos campos!
Para o ícone você pode criar uma classe abstrata que contenha essa configuração do ícone, e estender esta classe nos seus frames.
F
fabiio2
Obrigado pelo comentário Jonathan, mas o que quero é fazer a configuração em apenas uma classe e não precisar fazer nas demais, tanto no ícone como nos campos de texto.
R
Rodrigo_Void1 like
Concordo com o Jonathan, faça uma classe, configure ela e estenda dela suas janelas. Assim será feito só em uma. Não há forma de “configurar o swing” com propriedades padrão. Segue exemplo:
Sim, a ideia é exatamente esta!
O que eu quis dizer na resposta anterior é que você deve criar as classes com seus métodos para satisfazer o problema, você vai encontrar N exemplos pra utilizar, depois é só fazer a chamada das classes abstratas onde quiser utilizá-las, pois eu desconheço algum tipo de configuração global que possa ser feita.
F
fabiio2
@Rodrigo_Void @Jonathan_Medeiros
Entendi, obrigado pelo exemplo.
Agora, sobre os txtFields, para configurar todos para uppercase, teria que fazer um if aninhado com um for para verificar o componente?
No final da montagem da tela, eu insiro esse método?
No caso teria que inserir em todas as janelas?
R
Rodrigo_Void1 like
Eu diria que deveria fazer a mesma coisa. Criar uma classe pros TextFields e estender.
*Obs: Fica horrível um sistema com todas escritas em maiúsculo. Fica tudo gritado.
F
fabiio2
Não sabia que podia criar uma classe para os textFields.
Vou pesquisar a respeito, acho que isso resolve o meu problema.
Obrigado a vocês!
J
Jonathan_Medeiros1 like
Esse é um pequeno exemplo que limita a quantidade de caracteres em um campo e converte o conteúdo digitado para maiúsculo.
publicclassLetraMaiusculaextendsPlainDocument{privateintiMaxLength;publicLetraMaiuscula(intmaxlen){super();iMaxLength=maxlen;}@OverridepublicvoidinsertString(intoffset,Stringstr,AttributeSetattr)throwsBadLocationException{if(str==null){return;}if(iMaxLength<=0)// aceitara qualquer no. de caracteres{super.insertString(offset,str,attr);return;}intilen=(getLength()+str.length());if(ilen<=iMaxLength)// se o comprimento final for menor...super.insertString(offset,str.toUpperCase(),attr);// ...aceita str e passa ela para UpperCase}}
J
Solucao aceita
Jonathan_Medeiros1 like
Este é um exemplo de classe para substituição dos ícones dos jFrames, da mesma forma que funciona aqui você criar uma para as jDialogs que for utilizar e estende-las conforme precisar.