import java.awt.*;
import javax.swing.*;
import javax.swing.plaf.metal.MetalScrollButton;

public class DoubleSliderDemo extends JFrame {

	DoubleSliderDemo(int orientation)
	{
		DoubleSlider ds = new DoubleSlider(orientation,0,100);
		Box	p = new Box(BoxLayout.X_AXIS);
		Color[] gradient = ColorScales.ColorScales.getScale("Rainbow");
		
		p.add(ds);

		ds.setHilitedMinimum(20.0);
		ds.setHilitedMaximum(30.0);
		ds.setHiliteVisible(true);
		ds.setMarkedPoint(60.0);
		ds.setMarkVisible(true);
		
		ds.setGradient(gradient);
		ds.setGradientVisible(true);
		
		ds.setTrackColor(new Color(0.3F,0.7F,0.7F));
				
		ds.addAdjustmentListener(new Listener1(),1000);
		ds.addAdjustmentListener(new Listener2(),100);
		
		getContentPane().add(p);
		
		pack();
		setVisible(true);
	}

	public static void main(String[] args)
	{
		new DoubleSliderDemo(args.length==0 ? DoubleSlider.HORIZONTAL : DoubleSlider.VERTICAL);
	}

}

class Listener1	implements DoubleSliderAdjustmentListener
{
	public void adjustmentValueChanged(DoubleSlider ds)
	{
		System.out.println("(1)Value changed: " + 
			ds.getSelectedMinimum() + "," + ds.getSelectedMaximum());
	}
}

class Listener2	implements DoubleSliderAdjustmentListener
{
	public void adjustmentValueChanged(DoubleSlider ds)
	{
		System.out.println("(2)Value changed: " + 
			ds.getSelectedMinimum() + "," + ds.getSelectedMaximum());
	}
}
