JFormattedTextField(mascaraData)

1 resposta
L
Preciso exibir uma data na tela e fiz o seguinte:

private long  data;

private MaskFormatter macaraData;

macaraData = new MaskFormatter("##/##/####");

macaraData.setValueContainsLiteralCharacters(true);
telaData = new JFormattedTextField(mascaraData);
telaData.setColumns(10);

telaData.setText(data > 0 ? setLeftZeros(String.valueOf(data), 8) : "");

Quando data contém uma data como 16092019 é exibido como “16/09/2019”, mas quando data contém zero é exibido apenas " / / ".

Como resolver isso?

1 Resposta

Jothar_Aleksander

Que tal assim:

private void definirMascara(){
	try{
		mascaraData = new MaskFormatter("##/##/####");
	}catch(ParseException pex){
		System.out.println(pex);
	}
}

telaData.setFormatterFactory(new DefaultFormatterFactory(mascaraData));

Daí tu chama o método definirMascara no construtor da classe.

Criado 16 de setembro de 2019
Ultima resposta 16 de set. de 2019
Respostas 1
Participantes 2