Olá pessoal eu estou desenvolvendo uma table para inserir valores numéricos nas células de uma coluna , eu fiz uma classe que implementa o DefaultCellEditor , e a formatação dos números está ok , porém quando eu clico em uma célula digito um número e logo após clico em outra célula , nesta aparece o valor digitado na célula acima, alguém sabe o pq?
//Editor da Célula
public class NumberEditor extends DefaultCellEditor{
private DecimalFormat df;
private final static DecimalFormatSymbols dfs = new DecimalFormatSymbols(new Locale("pt_BR"));
private JFormattedTextField txtField;
public NumberEditor(int maximumIntegerDigits,int maximumFractionDigits,int horizontalAlignment){
super(new JFormattedTextField());
setClickCountToStart(1);
txtField = (JFormattedTextField)getComponent();
txtField.setHorizontalAlignment(horizontalAlignment);
txtField.setFont(new Font("Tahoma",0,11));
df = new DecimalFormat();
df.setDecimalFormatSymbols(dfs);
df.setMaximumIntegerDigits(maximumIntegerDigits);
df.setMaximumFractionDigits(maximumFractionDigits);
df.setDecimalSeparatorAlwaysShown(true);
df.setGroupingUsed(false);
NumberFormatter nf = new NumberFormatter(df);
nf.setAllowsInvalid(false);
nf.setValueClass(Double.class);
txtField.setFormatterFactory(new DefaultFormatterFactory(nf));
}
}
Obrigado.