JSlider Component of Java Swing

In this section, you will learn how to create a JSlider component of Java Swing. A Slider is the tool of swing through which you can easily input integer value for selecting a range. There is minimum chances of being mistake to illegal input values.

In this program, events on the JSlider component have also been shown. If you increase or decrease the slider by selecting then the actual position of the slider will be displayed on a label. The figure for the result of the given program is followed below:

Before touch the JSlider Component:
Before drag the slider

After drag the JSlider Component:
After drag the slider

For these purposes, some methods and APIs have been used to create a JSlider component and performs various tasks related to the slider. Methods and APIs are as follows:

JSlider:
This is the class which creates the slider for the swing application. For creating the slider this class creates a instance using it's constructor JSlider().

ChangeListener:
This is the interface of which is used to call stateChanged() method which receives the event generated by the slider using addChangeListener() method of the JSlider class.

ChangeEvent:
This is the class which handle the event generated by the JSlider component on change the state.

addChangeListener(object):
This is the method of the JSlider class which is used to handle event on change the selected state of the JSlider component.

Here is the code of the program:

import javax.swing.*;
import javax.swing.event.*;
import java.awt.*;
import java.awt.event.*;

public class CreateSlider{
  JSlider slider;
  JLabel label;
  public static void main(String[] args){
    CreateSlider cs = new CreateSlider();
  }

  public CreateSlider(){
    JFrame frame = new JFrame("Slider Frame");
    slider = new JSlider();
    slider.setValue(70);
    slider.addChangeListener(new MyChangeAction());
    label = new JLabel("Roseindia.net");
    JPanel panel = new JPanel();
    panel.add(slider);
    panel.add(label);
    frame.add(panel, BorderLayout.CENTER);
    frame.setSize(400400);
    frame.setVisible(true);
    frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  }

  public class MyChangeAction implements ChangeListener{
    public void stateChanged(ChangeEvent ce){
      int value = slider.getValue();
      String str = Integer.toString(value);
      label.setText(str);
    }
  }
}

Download this example.