我有一个对话框来显示一些值。现在我需要知道用户是否更改了某些内容。
所有字段都包装在 eclipse DatabindingContext 中。
...
bindingContext.bindValue(process_observable_milage, process_bean_mileage, new UpdateValueStrategy(), null);
...
如果我更改某些字段,模型内的 propertyChangeSupport 侦听器会被触发。(调用属性的设置器)。
this.firePropertyChange(SignalEntity.SIGNALNAME, this.signalname, this.signalname = name);
现在我需要一个全局监听器来检测是否有任何值被改变。
我尝试了以下但没有成功:
IObservableValue globalValidity = new WritableValue();
globalValidity.addChangeListener(new IChangeListener() {
@Override
public void handleChange(ChangeEvent event) {
dirty = true;
}
});
bindingContext.bindValue(globalValidity, new AggregateValidationStatus(bindingContext.getBindings(), AggregateValidationStatus.MAX_SEVERITY), null, null);
这是来自另一个添加了一些 afterConvertValidators 的类。所以我想我必须改用“addValueChangeListener”,但即使这样也行不通。
IObservableValue globalValidity = new WritableValue();
globalValidity.addValueChangeListener(new IValueChangeListener() {
@Override
public void handleValueChange(ValueChangeEvent event) {
dirty = true;
}
});
bindingContext.bindValue(globalValidity, new AggregateValidationStatus(bindingContext.getBindings(), AggregateValidationStatus.MAX_SEVERITY), null, null);
任何想法如何实现这一目标?
此致