/** * Create a instance of this check entry and set the configuration entry that is used to setup * this class. * * @param usedEntry the entry used to setup this class, the entry needs to pass the check with the * static method */ @SuppressWarnings("nls") public NumberEntryAwt(final ConfigEntry usedEntry) { super(new BorderLayout(10, 0)); if (!isUsableEntry(usedEntry)) { throw new IllegalArgumentException("ConfigEntry type illegal."); } entry = (NumberEntry) usedEntry; currentValue = entry.getValue(); display = new Label(Integer.toString(currentValue)); add(display, BorderLayout.EAST); final Scrollbar scroll = new Scrollbar(); scroll.setOrientation(Scrollbar.HORIZONTAL); scroll.setValues(currentValue, 1, entry.getRange().getMin(), entry.getRange().getMax() + 1); scroll.addAdjustmentListener(new NumberEntryScrollListener(this)); add(scroll, BorderLayout.CENTER); setMinimumSize(new Dimension(300, 10)); }
/** * Set the current value of this entry. This is a internal function that is required to update the * state of this instance. * * @param val the value the current value is supposed to be set to */ void setCurrentValue(final int val) { currentValue = FastMath.clamp(val, entry.getRange()); display.setText(Integer.toString(currentValue)); }
/** Save the value in this text entry to the configuration. */ @Override public void save() { entry.setValue(FastMath.clamp(currentValue, entry.getRange())); }