package genius.gui.panels; import javax.swing.SpinnerNumberModel; import javax.swing.event.ChangeListener; /** * Model for {@link Integer} values. This improves type checking and also allows * us to use it with sliders. */ public class IntegerModel { private SpinnerNumberModel spinmodel; public IntegerModel(Integer value, Integer minimum, Integer maximum, Integer stepSize) { spinmodel = new SpinnerNumberModel(value, minimum, maximum, stepSize); } @SuppressWarnings("unchecked") public Integer getMinimum() { return (Integer) spinmodel.getMinimum(); } @SuppressWarnings("unchecked") public Integer getMaximum() { return (Integer) spinmodel.getMaximum(); } public javax.swing.SpinnerModel getSpinnerModel() { return spinmodel; } @SuppressWarnings("unchecked") public Integer getValue() { return (Integer) spinmodel.getValue(); } public void setValue(Integer value) { spinmodel.setValue(value); } public void addChangeListener(ChangeListener changeListener) { spinmodel.addChangeListener(changeListener); } public void setMinimum(Integer newMinimum) { spinmodel.setMinimum(newMinimum); } public void setMaximum(Integer newMaximum) { spinmodel.setMinimum(newMaximum); } }