Ola Pessoal,
deixa eu mostrar o drama:
Tenho uma classe JSmartFormattedTextField que extende de JFormattedTextField. Utilizo um padrão de componentes Smart q bolei aqui para facilitar o acesso direto a algumas tabelas do banco. Negócio é o seguinte tentei de todos os jeitos adicionar a mascara no construtor, mas independente dessa ele continua aceitando todos os caracteres digitados e tambem o método da Super, .setColumns nem adianta tb... Será no construtor é impossivel fazer isso??? Tô Penando!!! Pessoal dá uma olhada no código e digam o que estou fazendo de errado:
public class JSmartFormattedTextField extends JFormattedTextField implements interfaceSmart
{
private String TableName;
private String ColumnName;
private int ColumnNumber;
private int ColumnType;
private int ColumnData;
private int ColumnSize;
private String ColumnFormat;
public JSmartFormattedTextField (String aTableName, String aColumnName, int aColumnNumber, int aColumnType, int aColumnData, int aColumnSize, String aColumnFormat)
{
this.TableName = aTableName;
this.ColumnName = aColumnName;
this.ColumnNumber = aColumnNumber;
this.ColumnType = aColumnType;
this.ColumnData = aColumnData;
this.ColumnSize = aColumnSize;
this.ColumnFormat = aColumnFormat;
try
{
MaskFormatter F = new MaskFormatter(aColumnFormat);
F.setPlaceholderCharacter('_');
F.setValidCharacters("[telefone removido]");
F.setAllowsInvalid(false);
F.setOverwriteMode(true);
this.setFormatter(F);
this.setColumns(aColumnSize);
}
catch (ParseException e)
{
JOptionPane.showMessageDialog(null,e.toString());
}
}