package com.javamarcher.window; import javax.swing.JSlider; import javax.swing.event.ChangeListener; public class JSliderWithLabel extends LabelBasedUIComponent { public JSliderWithLabel(String label, int min, int max, int currentValue, ChangeListener changeListener) { super(label); final JSlider slider = makeSlider(min, max, currentValue, changeListener); addComponentToContainer(slider); } private JSlider makeSlider(int min, int max, int currentValue, ChangeListener changeListener) { final JSlider slider = new JSlider(JSlider.HORIZONTAL, min, max, currentValue); slider.addChangeListener(changeListener); slider.setMajorTickSpacing(200); slider.setMinorTickSpacing(50); slider.setPaintTicks(true); slider.setPaintLabels(true); return slider; } }