package genius.gui.panels; import java.util.LinkedList; import java.util.List; import javax.swing.BoundedRangeModel; import javax.swing.SpinnerNumberModel; import javax.swing.event.ChangeListener; public class SpinnerToBoundeRangeAdapter implements BoundedRangeModel { private SpinnerNumberModel model; private boolean valueIsAdjusting = false; private List listeners = new LinkedList<>(); public SpinnerToBoundeRangeAdapter(SpinnerNumberModel model) { this.model = model; } @Override public int getMinimum() { return ((Double) model.getMinimum()).intValue(); } @Override public void setMinimum(int newMinimum) { model.setMinimum(newMinimum); } @Override public int getMaximum() { return ((Double) model.getMaximum()).intValue(); } @Override public void setMaximum(int newMaximum) { model.setMaximum(newMaximum); } @Override public int getValue() { return ((Double) model.getValue()).intValue(); } @Override public void setValue(int newValue) { model.setValue(newValue); } @Override public void setValueIsAdjusting(boolean b) { valueIsAdjusting = b; } @Override public boolean getValueIsAdjusting() { return valueIsAdjusting; } @Override public int getExtent() { return 0; } @Override public void setExtent(int newExtent) { // not supported } @Override public void setRangeProperties(int value, int extent, int min, int max, boolean adjusting) { // not supported } @Override public void addChangeListener(ChangeListener x) { listeners.add(x); } @Override public void removeChangeListener(ChangeListener x) { listeners.remove(x); } }