besbello
Sep 16th, 2004, 05:11 AM
When commit or revert a form with JFormattedTextField dont work
in SwinFormModel:
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);
in DefaultFormModel:
public ValueModel add(String formPropertyPath, ValueModel formValueModel) {
if (formValueModel instanceof BufferedValueModel) {
((BufferedValueModel)formValueModel)
.setCommitTrigger(commitTrigger);
}
pass a TypeConverter not a BufferedValueModel
It works
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);
}
Good work
in SwinFormModel:
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);
in DefaultFormModel:
public ValueModel add(String formPropertyPath, ValueModel formValueModel) {
if (formValueModel instanceof BufferedValueModel) {
((BufferedValueModel)formValueModel)
.setCommitTrigger(commitTrigger);
}
pass a TypeConverter not a BufferedValueModel
It works
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);
}
Good work