JSpinner

 

🔄 Java Swing JSpinner – Overview & Example

JSpinner is a Swing component that allows users to select a number or object value from a sequence by clicking up/down arrows or typing.


✅ Key Features

Method / Property Description
setModel(SpinnerModel) Set a value model (number, list, date, etc.)
getValue() Get current spinner value
setValue(Object) Set spinner value
addChangeListener(...) Listen to value changes

📦 Types of Spinner Models

Spinner Model Description
SpinnerNumberModel Integer/double values
SpinnerListModel List of strings or objects
SpinnerDateModel Dates (with min/max & step size)

✅ Example 1: Spinner with Numbers

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

public class NumberSpinnerExample {
    public static void main(String[] args) {
        JFrame frame = new JFrame("JSpinner Number Example");
        frame.setSize(300, 100);
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);

        SpinnerNumberModel model = new SpinnerNumberModel(5, 0, 10, 1);
        JSpinner spinner = new JSpinner(model);

        frame.setLayout(new FlowLayout());
        frame.add(new JLabel("Select Number:"));
        frame.add(spinner);

        frame.setVisible(true);
    }
}

✅ Example 2: Spinner with List of Strings

String[] fruits = {"Apple", "Banana", "Mango", "Orange"};
JSpinner spinner = new JSpinner(new SpinnerListModel(fruits));

✅ Example 3: Spinner with Dates

JSpinner dateSpinner = new JSpinner(new SpinnerDateModel());
JSpinner.DateEditor editor = new JSpinner.DateEditor(dateSpinner, "dd/MM/yyyy");
dateSpinner.setEditor(editor);

🧠 Useful Tips

  • Use spinner.getValue() to retrieve the selected value.

  • Use custom editors (JSpinner.NumberEditor, JSpinner.DateEditor) for better display.

  • Combine with ChangeListener to track changes:

spinner.addChangeListener(e -> {
    System.out.println("Selected: " + spinner.getValue());
});

Would you like an example combining JSpinner with JLabel to show live value updates?

Comments

Popular posts from this blog

Remove (Clear) and remove Selected element

🛢️ MySQL Connection & CRUD Operations in Java