by Dinesh Thakur

Slider in Swing is similar to scroll bar which allows the user to select a numeric value from a specified range of integer values. It has a knob which can slide on a range of values and can be used to select a particular value. For example, sliders are used in media players, to adjust volume, to set channel frequency, etc. Like scroll bars, they can also be horizontal or vertical. A slider is an object of class JSlider which is direct subclass of JComponent. The class JSlider also implements the interface SwingConstants.

      Constructors and methods of the JSlider class

 

Constructors and Methods

Description

JSlider()

Constructs a horizontal slider with the range 0 to 100with the initial value set to 50.

JSlider(BoundedRangeModelbrm)

Constructs a horizontal slider with the specified bounded range model.

JSlider(int orientation)

Constructs a slider with the range 0 to 100. and the initial value is set to 50, with the specified orientation.

JSlider(int min, int max)

Constructs a horizontal slider having the range whose minimum value is specified by the first parameter and maximum value is specified by the second parameter, and

the initial value is set to 50.

JSlider(int min, int max, int value)

Constructs a horizontal slider having the range whose minimum value is specified by the first parameter, maximum value specified by the second parameter and whose initial value is set according to the last parameter.

JSlider(int orientation, int min, int max, int value)

Constructs a slider with the specified orientation having the range whose minimum and maximum values are specified by the second and third parameters, and the initial value is set accordingly depending on last parameter.

Void addChangeListener(ChangeListener I)

Adds a change listener to this slider.

int getMaximum()

Returns the maximum value the slider supports.

int getMinimum()

Returns the minimum value the slider supports.

int getOrientation()

Returns the slider's horizontal or vertical orientation.

int getValue()

Returns the slider's current value.

Void setValue(int value)

Sets the slider's current value to the value specified by the parameter.

 

The creation and display of the JSlider control is explained in Program.

import javax.swing.*;

import javax.swing.event.*;
import java.awt.*;
public class JavaExampleDynamicIcon
  {
    public static void main(String[] as)
      {
          final JSlider Wdth = new JSlider(JSlider.HORIZONTAL, 1, 150, 75);
          final JSlider Hght = new JSlider(JSlider.VERTICAL, 1, 150, 75);
          class DynamicIcon implements Icon
            {
                public int getIconWidth()
              {
                  return Wdth.getValue();
              }
                     public int getIconHeight()
                   {
                       return Hght.getValue();
                   }
                          public void paintIcon(Component Cmpnt, Graphics gr, int a, int b)
                       {
                              gr.fill3DRect(a, b, getIconWidth(), getIconHeight(), true);
                           }
            };
                  Icon Icn = new DynamicIcon();
                 final JLabel LblDynmc = new JLabel(Icn);
                 class Updater implements ChangeListener
                {
                        public void stateChanged(ChangeEvent Evnt)
                      {
                              LblDynmc.repaint();
                          }
                    };
                             Updater Updtr = new Updater();
                             Wdth.addChangeListener(Updtr);
                             Hght.addChangeListener(Updtr);
                             JFrame Frm = new JFrame();
                             Container Cntnr = Frm.getContentPane();
                             Cntnr.setLayout(new BorderLayout());
                             Cntnr.add(Wdth, BorderLayout.NORTH);
                             Cntnr.add(Hght, BorderLayout.WEST);
                             Cntnr.add(LblDynmc, BorderLayout.CENTER);
                             Frm.setSize(210,210);
                             Frm.setVisible(true);
        }
  }

JSlider