public NumericViewer(Setting s) throws Exception {
		super(s);
		if (s.getType().isInteger()) {
			int val = s.getValue().getInt();
			int min = Integer.MIN_VALUE;
			int max = Integer.MAX_VALUE;
			if (s.getMax() != null) {
				max = s.getMax().getInt();
			}
			if (s.getMin() != null) {
				min = s.getMin().getInt();
			}
			model_ = new SpinnerNumberModel(val, min, max, 1);
		} else {
			double val = s.getValue().getDouble();
			double min = -Double.MAX_VALUE;
			double max = Double.MAX_VALUE;
			if (s.getMax() != null) {
				max = s.getMax().getDouble();
			}
			if (s.getMin() != null) {
				min = s.getMin().getDouble();
			}
			model_ = new SpinnerNumberModel(val, min, max, 0.01);
		}
		spinner_ = new JSpinner(model_);
		this.addMainComponent(spinner_);

		spinner_.addChangeListener(this);
	}