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
ChangeListenerto 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
Post a Comment