Criar componente extendido de JFormattedTextField

5 respostas
M

Eu quero criar um componete para data, por isso estou usando o JFormattedTextField, mas quero q o componente ja venha com a formatação certa. No código abaixo, aparece um erro na linha public AdmEditTextData(new MaskFormatter("##/##/####")) { aparece o seguinte erro: illegal start of type. Se existir outra forma de fazer isso, eu agradeço....

import javax.swing.JFormattedTextField;
import java.text.ParseException;

import java.util.Date;
import java.text.SimpleDateFormat;
import javax.swing.text.MaskFormatter;

public class AdmEditTextData extends JFormattedTextField{
    
    private String formato = "dd/MM/yyyy";
    private Date hoje = new Date();
    private SimpleDateFormat formatador = new SimpleDateFormat(formato);
    
    public AdmEditTextData(new MaskFormatter("##/##/####")) {
      
        this.setText(formatador.format(hoje));
        this.setSize(58,16);
        this.setHorizontalAlignment(this.CENTER);
               
    }
      
    public void setData(Date data){
        this.setText(formatador.format(data));
    }

    public void setFormato(String formato) {
        this.formato = formato;
    }
    
}
[/b]

5 Respostas

C

Ja tentou usar o nachocalendar para formatar datas. http://nachocalendar.sourceforge.net/

J

O que você tentou fazer aí? Isso?

public AdmEditTextData() { super(new MaskFormatter("##/##/####")); }

M
public AdmEditTextData() {
   super(new MaskFormatter("##/##/####"));
}

Aparece o seguinte erro: cannot find symbol

J

Veja se não está faltando algum import, e vi aqui que o construtor de MaskFormatter lança uma exceção ParseException, portanto você vai ter que trata-la, então, tire o super, e use o metodo setFormatter() para atribuir a mascara…

A

Christielen encontrei a classe nachocalendar com faço para utilizar não consigo inserir no meu projeto

Criado 31 de outubro de 2006
Ultima resposta 15 de ago. de 2008
Respostas 5
Participantes 4