Introduction à JSpinner
JSpinner est un composant qui nous permet de sélectionner une entrée qui peut être un objet ou une valeur numérique à partir d'une séquence ordonnée à partir d'un champ de saisie. JSpinner est une classe et elle est disponible dans le package javax.swing. Comme son nom l'indique, il fait tourner sa valeur vers le haut et vers le bas, il ne contient pas de liste déroulante pour sélectionner une entrée. Il contient essentiellement des flèches vers le haut et vers le bas. Lorsque nous essayons d'appuyer sur les flèches, cela nous montre l'entrée en fonction de nos besoins.
Constructeurs de JSpinner
JSpinner contient deux constructeurs qui fonctionnent comme suit:
- JSpineer (): il crée un spinner vide avec la valeur par défaut définie sur zéro. C'est une sorte de constructeur par défaut sans argument.
- JSpineer (modèle SpineerModel): il prend SprineerModel comme argument qui décide de sa valeur de séquence.
Syntaxe de la classe Jspineer
public class JSpinner extends JComponent
implements Accessible
La classe JSpinner étend la classe JComponent et implémente l'interface accessible. Ici JComponent est la superclasse de tous les composants de balançoire. Toute classe dont le nom commence par «J» est la classe enfant de Jcomponent. Jcomponent étend encore la classe Container. Cette classe nous fournit le support pour ajouter des composants au conteneur. L'interface maintenant accessible nous fournit diverses classes et interfaces qui sont utilisées pour définir un contrat entre la technologie d'assistance et l'application accessible. Il renvoie l'objet de l'objet AccessibleContext qui se transforme pour fournir des informations sur d'autres composants.
Méthodes JSpineer
Différentes méthodes disponibles dans JSpineer:
- SpineerNumberModel (valeur int, int max, int min, étape int): cette méthode prend quatre arguments. La valeur initiale de Spinner serait une valeur définie dans le paramètre «value». Maintenant, nous pouvons spécifier une valeur maximale pour un paramètre spineer, c'est-à-dire «max», nous pouvons également définir une valeur minimale, c'est-à-dire un paramètre «min» et le dernier paramètre est «step» qui est responsable de l'augmentation ou de la décrémentation de la valeur spineer avec une différence spécifiée .
- SpineerListModel (List I): Il crée un objet modèle spineer avec l'élément List. Il ne nécessite qu'un seul argument pour être passé.
- getPreviousValue (): Cette méthode, nous pouvons dire, agit comme un getter pour cette classe pour obtenir la valeur précédente du spinner.
- getnextValue (): Cette méthode agit comme un getter pour obtenir la prochaine valeur de spineer.
- setValue (Object v): cette méthode agit comme une méthode de définition pour définir la valeur d'un objet passé en argument.
- getValue (): Il s'agit également d'une méthode getter qui renvoie la valeur actuelle de spineer.
Exemples de Jspineer
Voyons maintenant quelques exemples.
Exemple 1
Dans cet exemple, nous allons créer un JSpineer de base pour les débutants. Nous allons créer une classe java simple qui étendra le JFrame à l'intérieur, nous devons créer l'objet de JFrame, JSpineer ces deux classes sont disponibles dans le package javax.swing. Nous pouvons définir les limites du spinner en appelant la méthode setBounds () qui prend quatre arguments. Ensuite, nous devons définir la disposition de notre cadre en appelant setLayout (). Enfin, nous devons ajouter notre composant JSpinner à l'objet cadre et enfin, nous définirons la taille de notre cadre en appelant setSize () qui prendra deux arguments.
Ci-dessous, vous pouvez trouver l'exemple JSpinner.
import javax.swing.JFrame;
import javax.swing.JSpinner;
public class SpineerDemo extends JFrame (
// frame
static JFrame frame;
// default constructor
SpineerDemo()
(
)
// main class
public static void main(String() args)
(
// create a new frame
frame = new JFrame("spinner");
// create a JSpinner
JSpinner spineer = new JSpinner();
// set Bounds for spinner
spineer.setBounds(100, 100, 50, 40);
// set layout for frame
frame.setLayout(null);
// add panel to frame
frame.add(spineer);
// set frame size
frame.setSize(400, 400);
frame.show();
)
)
Il suffit de l'exécuter en tant qu'application java une nouvelle fenêtre apparaîtra qui contiendra votre Jspineer à l'intérieur du cadre. Ci-dessous, trouvez la sortie ci-jointe.
Maintenant, nous pouvons appuyer sur la flèche pour modifier la valeur du spinner.
Exemple # 2
Maintenant, nous allons voir un autre exemple pour choisir la date de naissance du Jspineer.
package com.cont.article;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JSpinner;
import javax.swing.SpinnerListModel;
import javax.swing.SpinnerNumberModel;
import javax.swing.event.ChangeEvent;
import javax.swing.event.ChangeListener;
public class DateOfBirthSpinner extends JFrame implements ChangeListener (
// frame
static JFrame frame;
// define label
static JLabel label, label1;
// define spinner
static JSpinner spineer, spineer1, spineer2;
// default constructor for class
DateOfBirthSpinner()
(
)
// main class
public static void main(String() args)
(
// createing an object of the class
DateOfBirthSpinner sp1 = new DateOfBirthSpinner();
// create a new frame
frame = new JFrame("spinner");
// create a label
label = new JLabel("select your date of birth");
label1 = new JLabel("1 October 2010");
// create a JSpinner with a minimum, maximum and step value
spineer = new JSpinner();
spineer1 = new JSpinner(new SpinnerNumberModel(1, 1, 31, 1));
// setvalue of year initializing year
spineer.setValue(2000);
// store the months create array
String months() = ( "January", "February", "March",
"April", "May", "June", "July", "August",
"September", "October", "Novemeber", "December" );
// create a JSpinner with list of values
spineer2 = new JSpinner(new SpinnerListModel(months));
// adding change listener to spinner
spineer.addChangeListener(sp1);
spineer1.addChangeListener(sp1);
spineer2.addChangeListener(sp1);
// set Bounds for all three spinner
spineer.setBounds(70, 70, 50, 40);
spineer1.setBounds(70, 130, 50, 40);
spineer2.setBounds(70, 200, 90, 40);
// setbounds for all label
label.setBounds(10, 10, 150, 20);
label1.setBounds(10, 300, 150, 20);
// set layout for frame
frame.setLayout(null);
// add label to frame object
frame.add(label);
frame.add(label1);
frame.add(spineer);
frame.add(spineer1);
frame.add(spineer2);
// add panel to frame object
frame.add(spineer);
// set frame size
frame.setSize(300, 300);
frame.show();
)
// if the state is changed for spinner set value to label
public void stateChanged(ChangeEvent e)
(
label1.setText(spineer1.getValue() + " " + spineer2.getValue() + " " + spineer.getValue());
)
)
Ci-dessous vous pouvez trouver la sortie du programme ci-dessus.
Nous définissons ici trois filateurs pour l'année, le mois et la date. Nous allons donc définir ici trois filateurs.
Conclusion - JSpinner
JSpinner peut être utilisé lorsqu'un nombre ou un type d'objet est requis dans une séquence ou dans l'ordre. Ce qui peut être incrémenté ou décrémenté et l'ordre de valeur peut persister. Dans ce scénario, nous pouvons opter pour JSpineer.
Articles recommandés
Ceci est un guide de JSpinner. Ici, nous discutons des constructeurs, de la syntaxe et des méthodes de JSpinner ainsi que différents exemples et implémentations de code. Vous pouvez également consulter les articles suivants pour en savoir plus -
- JTextField en Java (méthode, exemples)
- Utilisations de JDialog en Java
- JScrollPane en Java (exemples)
- Que sont les annotations en Java?
- JLabel en Java