When commit or revert a form with JFormattedTextField dont work
in SwinFormModel:
in DefaultFormModel:Code:public JFormattedTextField createBoundFormattedTextField( String formProperty, AbstractFormatterFactory formatterFactory) { ValueModel valueModel = new PropertyAdapter(formModel .getPropertyAccessStrategy(), formProperty); if (formModel.getBufferChangesDefault()) { valueModel = new BufferedValueModel(valueModel); } JFormattedTextField textField = createNewFormattedTextField(formatterFactory); TypeConverter typeConverter = new TypeConverter(valueModel, textField); ValueModel validatingModel = formModel.add(formProperty, typeConverter);
pass a TypeConverter not a BufferedValueModelCode:public ValueModel add(String formPropertyPath, ValueModel formValueModel) { if (formValueModel instanceof BufferedValueModel) { ((BufferedValueModel)formValueModel) .setCommitTrigger(commitTrigger); }
It works
Good workCode:public ValueModel add(String formPropertyPath, ValueModel formValueModel) { ValueModel bufferedValueModel; if(formValueModel instanceof TypeConverter){ bufferedValueModel=((TypeConverter)formValueModel). getWrappedInstance; }else{ bufferedValueModel=formValueModel; } if (bufferedValueModel instanceof BufferedValueModel) { ((BufferedValueModel)bufferedValueModel) .setCommitTrigger(commitTrigger); }


Reply With Quote