A simple "label : slider : value label" combination.

git-svn-id: https://samskivert.googlecode.com/svn/trunk@802 6335cc39-0255-0410-8fd6-9bcaacd3b74c
This commit is contained in:
mdb
2002-07-25 23:21:33 +00:00
parent b8aafda6ba
commit 92eaefef22
@@ -0,0 +1,90 @@
//
// $Id: SimpleSlider.java,v 1.1 2002/07/25 23:21:33 mdb Exp $
package com.samskivert.swing;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JSlider;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
/**
* Displays a slider with a label on the left explaining what the slider
* does and a label on the right displaying the slider's current value.
*/
public class SimpleSlider extends JPanel
implements ChangeListener
{
/**
* Creates a simple slider with the specified configuration.
*
* @param label the text to display to the left of the slider.
* @param min the slider's minimium value.
* @param max the slider's maximum value.
* @param value the slider's starting value.
*/
public SimpleSlider (String label, int min, int max, int value)
{
setLayout(new HGroupLayout(HGroupLayout.STRETCH));
add(_label = new JLabel(label), HGroupLayout.FIXED);
add(_slider = new JSlider(min, max, value));
_slider.addChangeListener(this);
add(_value = new JLabel(Integer.toString(min)), HGroupLayout.FIXED);
}
// documentation inherited
public void stateChanged (ChangeEvent e)
{
JSlider source = (JSlider)e.getSource();
if (!source.getValueIsAdjusting()) {
_value.setText(Integer.toString(source.getValue()));
}
}
/**
* Updates the label displayed to the left of the slider.
*/
public void setLabel (String label)
{
_label.setText(label);
}
/**
* Returns the current value of the slider.
*/
public int getValue ()
{
return _slider.getValue();
}
/**
* Sets the slider's current value.
*/
public void setValue (int value)
{
_slider.setValue(value);
_value.setText(Integer.toString(value));
}
/**
* Sets the slider's minimum value.
*/
public void setMinimum (int minimum)
{
_slider.setMinimum(minimum);
}
/**
* Sets the slider's maximum value.
*/
public void setMaximum (int maximum)
{
_slider.setMaximum(maximum);
}
protected JLabel _label;
protected JSlider _slider;
protected JLabel _value;
}