package ddddbb.gen; import javax.swing.SpinnerModel; import javax.swing.event.ChangeListener; public class DoubleUnitModel implements SpinnerModel { IntModel<? extends Unit> unitModel; DoubleModel valueModel; public DoubleUnitModel(DoubleModel v,IntModel<? extends Unit> u) { valueModel = v; unitModel = u; } public void setValue(Object _value) { valueModel.setValue(_value,unitModel.sel()); } public Object getValue() { return valueModel.getValue(unitModel.sel()); } public void addChangeListener(ChangeListener l) { valueModel.addChangeListener(l); unitModel.addChangeListener(l); } public Object getNextValue() { double v = ((Number)valueModel.getNextValue()).doubleValue(); return v/unitModel.sel().unitFactor(); } public Object getPreviousValue() { double v = ((Number)valueModel.getPreviousValue()).doubleValue(); return v/unitModel.sel().unitFactor(); } public void removeChangeListener(ChangeListener l) { valueModel.removeChangeListener(l); unitModel.removeChangeListener(l); } }