Java Swing GUI

JSpinner – Java Swing – Example

In this tutorial, we are going to see an example of JSpinner in Java Swing. JSpinner is part of javax.swing package. JSpinner contains a single line of input that can be a number or an object in an ordered sequence. The user can manually enter data into the spinner’s text field. The spinner is sometimes preferred because it does not need a drop-down list. Spinners contain up/down arrows to display the previous and next item when pressed.


 
 

JSpinner constructors class:
JSpinner Constructors
Description
JSpinner() Creates an empty spinner with an initial value set to zero and no constraints.
JSpinner(SpinnerModel model) Creates a spinner with a specified spinner template transmitted as argument.

 
Commonly used methods:

  • setValue(Object v): Defines the value of the spinner on the object transmitted in argument.
  • getValue(): Returns the current value of the spinner.
  • getPreviousValue(): Returns the previous value of the spinner.
  • getNextValue(): Returns the next value of the spinner.
  • SpinnerListModel(List l): Creates a spinner model with elements from the list l. This spinner model can be used to define as a spinner model.
  • SpinnerNumberModel(int val, int max, int min, int step): Returns a spinner pattern whose initial value is set to ‘val’, with a minimum and maximum value, and a step value defined.

 

 

Example of JSpinner in Java Swing:
import javax.swing.*;  
import javax.swing.event.*;

public class Main 
{
  public static void main(String[] args) 
  {  
    JFrame frame = new JFrame();  
    
    final JLabel label = new JLabel();          
    label.setHorizontalAlignment(JLabel.CENTER);  
    label.setSize(250,100);  
    
    SpinnerModel model = new SpinnerNumberModel(
                2,  //initial value
                0,  //minimum value
                20, //maximum value
                1   //step
    ); 
    JSpinner sp = new JSpinner(model); 
    sp.setBounds(100,100,45,30);  
    frame.add(sp);  
    
    frame.add(label);
    frame.setSize(250,250);  
    frame.setLayout(null);  
    frame.setVisible(true);  
    
    //when the up/down arrows is pressed
    sp.addChangeListener(new ChangeListener() {
      public void stateChanged(ChangeEvent e) {
        label.setText("Value : " + ((JSpinner)e.getSource()).getValue());
      }
    });
  }
}

Output:


mcqMCQPractice competitive and technical Multiple Choice Questions and Answers (MCQs) with simple and logical explanations to prepare for tests and interviews.Read More

Leave a Reply

Your email address will not be published. Required fields are marked *