maskFormatter

bem galera eu gostaria de criar uma classe para deixar meu formulário com mascara, porém eu tenho vários formulários e gostaria de saber como eu faço para criar uma classe com as mascaras e leva-las até meus formulários.

[quote]Ex.: nesta primeira classe eu defino a mascara

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

public class Classedeformulario {
private MaskFormatter maskFormatter;

private void initComponents() {

try {
	maskFormatter = new MaskFormatter("## / ## / ##");
	maskFormatter.setPlaceholderCharacter('_');
	} catch( ParseException e ) {}

	
	}

}[/quote]

[quote]nesta segunda eu tenho meu formulário que eu vou usar a mascara

JFormattedTextField Texto = new JFormattedTextField( maskFormatter );
[/quote]

como eu faço para ligar estas duas classes?

Pode criar uma classe com métodos estáticos que retornam as máscaras:

class Masks {
    private static MaskFormatter dateMask;

    public static MaskFormatter dateMask() {
        if( dateMask == null ) { // inicializa
            dateMask = new MaskFormatter( "##/##/##" );
            dateMask.setPlaceholderCharacter( '_' );
        }

        return dateMask;
    }
}

Para usar:

JFormattedTextField texto = new JFormattedTextField( Masks.dateMask() ); 

Existem outras formas de inicializar as máscaras na classe Masks, esta é apenas uma delas.

blza mas aonde referencio qual é o arquivo que está a primeira classe?

Não entendi sua dúvida!

Você quer usar os metodos e um classe na outra classe reaproveitando os metodos prontos?

Ué … basta importar a classe, instancia-la e usar livremente os metodos da classe atraves do operador ponto(.) .

Era isso?

isso mesmo, mas não sei como se improta a classe
é no import … ?

como fica a sintaxe ?

Obrigado! Também estava com a mesma situação.

Cara eu estou usando o componente JDateChooser adiciona o arquivo jar que anexei , adiciona na Biblioteca e depois na Paleta Swing.
Aai é só clicar no componente e arrastar pro formulário, fica muito mais bonito e legal pois abre um calendariozinho pra vc selecionar a data…resolveu meu problema com as máscaras de data.

Segue também alguns métodos uteis pra vc trabalhar com Date:

//Metodo para transformar String em Data xx/xx/xxxx
    public static Date stringToDate(String dataStr) {
        SimpleDateFormat format = new SimpleDateFormat("dd/MM/yyyy");
        Date data = null;
        try {
            data = new Date(format.parse(dataStr).getTime());
        } catch (ParseException ex) {
            Logger.getLogger(Util.class.getName()).log(Level.SEVERE, null, ex);
        }
        return data;
    }

    //Metodo para transformar Data xxxx-xx-xx em String para poder jogar no JformatedTextField xx/xx/xxxx
    public static String dateToString(java.util.Date data) {
        if(data != null){
        String dataFormatada = new SimpleDateFormat("dd/MM/yyyy").format(data);
        return dataFormatada;
        }else{
            return "";
        }
    }

    //Metodo para transformar Data dd/MM/aaaa em Data aaaa-MM-dd para poder salvar no MySql
    public static String dateToDate(java.util.Date data) {
        String dataFormatada = new SimpleDateFormat("yyyy-MM-dd").format(data);
        return dataFormatada;
    }

Falouu

Que componente massa!
No meu caso vai servir perfeitamente, pois em relação a usabilidade do meu sistema ela é toda baseada em mouse, e esse componente favorece!
fabio.argenton vlw!