Einführung in JSpinner

JSpinner ist eine Komponente, mit der wir aus einem Eingabefeld eine Eingabe auswählen können, die ein Objekt oder ein Zahlenwert aus einer geordneten Sequenz sein kann. JSpinner ist eine Klasse, die im Paket javax.swing enthalten ist. Wie der Name schon sagt, dreht es seinen Wert nach oben und unten. Es enthält keine Dropdown-Liste zum Auswählen einer Eingabe. Grundsätzlich enthält es Aufwärts- und Abwärtspfeile. Wenn wir versuchen, die Pfeile zu drücken, zeigt es uns die Eingabe entsprechend unserer Anforderung.

Konstruktoren von JSpinner

JSpinner enthält zwei Konstruktoren, die wie folgt funktionieren:

  1. JSpineer (): Es wird ein leerer Spinner mit dem Standardwert Null erstellt. Es ist eine Art Standardkonstruktor ohne Argument.
  2. JSpineer (SpineerModel-Modell): SprineerModel wird als Argument verwendet, das den Sequenzwert festlegt.

Syntax der Jspineer-Klasse

public class JSpinner extends JComponent
implements Accessible

Die JSpinner-Klasse erweitert die JComponent-Klasse und implementiert das Accessible Interface. Hier ist JComponent die Oberklasse für alle Swing-Komponenten. Jede Klasse, deren Name mit 'J' beginnt, ist die untergeordnete Klasse für Jcomponent. Jcomponent erweitert die Container-Klasse weiter. Diese Klasse bietet uns die Unterstützung zum Hinzufügen von Komponenten zum Container. Die jetzt zugängliche Schnittstelle bietet uns verschiedene Klassen und Schnittstellen, mit denen ein Vertrag zwischen assistierender Technologie und zugreifbarer Anwendung definiert wird. Es gibt das Objekt des AccessibleContext-Objekts zurück, das Informationen zu anderen Komponenten bereitstellt.

JSpineer-Methoden

In JSpineer stehen verschiedene Methoden zur Verfügung:

  • SpineerNumberModel (int-Wert, int max, int min, int-Schritt): Diese Methode akzeptiert vier Argumente. Der Anfangswert des Drehfelds ist ein Wert, der im Parameter "Wert" festgelegt wird. Jetzt können wir einen Maximalwert für einen Spineer angeben, dh einen 'Max'-Parameter. Außerdem können wir einen Minimalwert definieren, dh einen' Min'-Parameter, und der letzte Parameter ist ein 'Schritt', der für das Inkrementieren oder Dekrementieren des Spineer-Werts mit einem bestimmten Unterschied verantwortlich ist .
  • SpineerListModel (Liste I): Erstellt ein Spineer-Modellobjekt mit dem Element List. Es muss nur ein Argument übergeben werden.
  • getPreviousValue (): Diese Methode fungiert als Getter für diese Klasse, um den vorherigen Wert des Drehfelds abzurufen .
  • getnextValue (): Diese Methode fungiert als Getter, um den nächsten Wert von spineer abzurufen.
  • setValue (Object v): Diese Methode fungiert als Setter-Methode, um den Wert eines Objekts festzulegen, das als Argument übergeben wird.
  • getValue (): Dies ist auch eine Getter-Methode, die den aktuellen Wert von spineer zurückgibt.

Beispiele für Jspineer

Schauen wir uns nun einige Beispiele an.

Beispiel 1

In diesem Beispiel erstellen wir einen grundlegenden JSpineer für Anfänger. Wir werden eine einfache Java-Klasse erstellen, die den JFrame darin erweitert. Wir müssen das Objekt von JFrame erstellen. JSpineer. Beide Klassen sind im Paket javax.swing verfügbar. Wir können die Grenzen für das Drehfeld festlegen, indem wir die setBounds () -Methode aufrufen, die vier Argumente akzeptiert. Dann müssen wir das Layout für unseren Frame definieren, indem wir setLayout () aufrufen. Als letztes müssen wir unsere JSpinner-Komponente zum Frame-Objekt hinzufügen und als letztes definieren wir die Größe unseres Frames, indem wir setSize () aufrufen, das zwei Argumente akzeptiert.

Unten finden Sie das JSpinner-Beispiel.

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();
)
)

Führen Sie es einfach als Java-Anwendung aus. Es öffnet sich ein neues Fenster, in dem sich Ihr Jspineer im Rahmen befindet. Unten finden Sie die Ausgabe im Anhang.

Jetzt können wir den Pfeil drücken, um den Wert des Drehfelds zu ändern.

Beispiel # 2

Jetzt sehen wir ein weiteres Beispiel, um das Geburtsdatum vom Jspineer zu wählen.

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());
)
)

Unten finden Sie die Ausgabe des obigen Programms.

Hier definieren wir drei Spinner für Jahr, Monat und Datum. Wir werden hier also drei Spinner definieren.

Fazit - JSpinner

JSpinner kann verwendet werden, wenn die Eingabe einer Nummer oder eines Objekttyps in einer Sequenz oder Reihenfolge erforderlich ist. Dies kann entweder inkrementieren oder dekrementieren und die Reihenfolge des Werts kann bestehen bleiben. In diesem Szenario können wir uns für JSpineer entscheiden.

Empfohlene Artikel

Dies ist eine Anleitung zu JSpinner. Hier diskutieren wir Konstruktoren, Syntax und Methoden von JSpinner zusammen mit verschiedenen Beispielen und Code-Implementierung. Sie können sich auch die folgenden Artikel ansehen, um mehr zu erfahren -

  1. JTextField in Java (Methode, Beispiele)
  2. Verwendung von JDialog in Java
  3. JScrollPane in Java (Beispiele)
  4. Was sind Anmerkungen in Java?
  5. JLabel in Java