Como formatar Strings no JSF ou java?

Como formatar Strings no JSF ou java?

Exemplo: disso XXX1234 para isso XXX-1234

utilize substring e concatene o hífen

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é…

Pode usar tbm MaskFormatter se caber ao caso.

como funciona o MaskFormatter?
Pode dar um exemplo?

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!

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

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!

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:

[code]
public String getRecordTitle() {

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

}[/code]

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.

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

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

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

[code] public String getRecordTitle() {

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

}[/code]