@Override
	public final synchronized void display() {
		this.slider.setMinimum(this.min);
		this.slider.setMaximum(this.max);
		this.slider.setValue((int) (this.value * this.factor));
		this.slider.setPaintTicks(true);
		this.slider.setPaintLabels(true);
		this.slider.setMajorTickSpacing(this.step);
		this.slider.setMinorTickSpacing(this.ticks);
		this.label.setText(String.format("%s %.2f", this.value == 0 ? " "
				: this.value > 0 ? "+" : "-", Double.valueOf(Math
				.abs(this.value) / this.factor)));
		if (this.object != null) {
			this.bruteParams.setLocalValue(this.object, this.target,
					Double.valueOf(this.value));
		}

		@SuppressWarnings("unchecked")
		final Dictionary<Integer, JLabel> dict = this.slider.getLabelTable();
		final Enumeration<Integer> keys = dict.keys();
		while (keys.hasMoreElements()) {
			final Integer key = keys.nextElement();
			final JLabel labelDict = dict.get(key);
			labelDict.setText(String.format("%3.2f",
					Double.valueOf(key.intValue() / this.factor)));
			final Dimension d = labelDict.getSize();
			d.width = 3 * labelDict.getFont().getSize();
			labelDict.setSize(d);
		}
		this.slider.addChangeListener(new SliderListener());

	}