Como formatar Strings no JSF ou java?

11 respostas
luisandro

Como formatar Strings no JSF ou java?

Exemplo: disso XXX1234 para isso XXX-1234

11 Respostas

nbluis

utilize substring e concatene o hífen

nbluis

O Objeto StringBuilder faz o insert para vc tb,.

Assim:

public class StringBuilderTeste {
	public static void main(String[] s){
		StringBuilder st = new StringBuilder("Teste");
		st.insert(2,"11");
		System.out.println(st.toString());
	}
}

Saida: Te11ste

Até…

Ratao

Pode usar tbm MaskFormatter se caber ao caso.

luisandro

como funciona o MaskFormatter?
Pode dar um exemplo?

Ratao
try {
   MaskFormatter formata = new MaskFormatter("(##)####-####");    
   formata.install((JFormattedTextField)nomedocampo);
} catch (ParseException e) {				
   e.printStackTrace();
}

Normalmente vc usa o MaskFormatter para criar mascaras como de telefone neste caso e em outros casos, ai depende se vai te atender ou nao. Vc pode tbm tratar de outras formas. Vou ver se acho um link legal e posto aqui para vc agorinha.

Abraço!

nbluis

Ta mas isso é aplicação gráfica? a que se aplica este caso?

Ratao

Link para referencia:
http://java.sun.com/docs/books/tutorial/uiswing/components/formattedtextfield.html#maskformatter

No caso eu estou passando informações como se fosse para uma aplicação
gráfica aqui.

abraço!

luisandro

eu preciso para duas coisas:

1-Para colocar uma mascara em um campo de entrada.

2-E para exibir esse formato em um outputText.

vamos ao exemplo:

1-digitar uma placa de carro em um campo de entrada nesse formato ABC-1234.

2-e exibir esse formato em um outputText.

como fazer isto?

Com o exemplo do Luis Eduardo Bohrer funciona muito bem:

public String getRecordTitle() {

       StringBuilder st = new StringBuilder("Vículo:"+veiculo.getPlaca());
       st.insert(11, "-");
		
       return st.toString();

	}

A saída é Veículo: ABC-1234;

Mas ainda não é o ideal, porque preciso da mascara de entrada, por isso gostaria de saber como fazer isso com MaskFormatter?

PS: uso Eclipse e JSF.

nbluis

mas se a aplicação é webv, so conseguirá fazer mascara com javascript…
estes objetos java nao se aplicam ao browser…

Ratao

Da uma olhadinha no link que te passei acima. Lah fala direitinho como funciona. :slight_smile:

luisandro

Valeu pessoal pela ajuda! por enquanto vou ter que usar dessa forma até descobrir outro jeito.

public String getRecordTitle() {
 
        StringBuilder st = new StringBuilder("Vículo:"+veiculo.getPlaca());
        st.insert(11, "-");
 		
        return st.toString();
 
 	}
Criado 8 de março de 2007
Ultima resposta 8 de mar. de 2007
Respostas 11
Participantes 3