JSpinner - Costruttori, sintassi e metodi di JSpinner con esempi

Sommario:

Anonim

Introduzione a JSpinner

JSpinner è un componente che ci consente di selezionare un input che può essere un oggetto o un valore numerico da una sequenza ordinata da un campo di input. JSpinner è una classe ed è disponibile nel pacchetto javax.swing. Come suggerisce il nome, gira il suo valore verso l'alto e verso il basso e non contiene un elenco a discesa per selezionare un input. In pratica contiene frecce verso l'alto e verso il basso. Quando proviamo a premere le frecce ci mostra l'input in base alle nostre esigenze.

Costruttori di JSpinner

JSpinner contiene due costruttori che funzionano come segue:

  1. JSpineer (): crea uno spinner vuoto con il valore predefinito impostato su zero. È una specie di costruttore predefinito senza argomenti.
  2. JSpineer (modello SpineerModel): prende SprineerModel come argomento che decide il suo valore di sequenza.

Sintassi della classe Jspineer

public class JSpinner extends JComponent
implements Accessible

La classe JSpinner estende la classe JComponent e implementa l'interfaccia accessibile. Qui JComponent è la superclasse per tutti i componenti dello swing. Qualsiasi classe il cui nome inizia con 'J' è la classe figlio di Jcomponent. Jcomponent estende ulteriormente la classe Container. Questa classe ci fornisce il supporto per aggiungere componenti al contenitore. Ora l'interfaccia accessibile ci fornisce varie classi e interfacce che vengono utilizzate per definire un contratto tra tecnologia assistiva e applicazione accessibile. Restituisce l'oggetto di AccessibleContext che gira per fornire informazioni su altri componenti.

Metodi JSpineer

Diversi metodi disponibili in JSpineer:

  • SpineerNumberModel (int value, int max, int min, int step): questo metodo accetta quattro argomenti. Il valore iniziale di Spinner sarebbe un valore impostato nel parametro 'valore'. Ora possiamo specificare un valore massimo per un parametro spineer, vale a dire il parametro 'max', inoltre possiamo definire un valore minimo, cioè parametro 'min' e l'ultimo parametro è 'step' che è responsabile dell'incremento o del decremento del valore del spineer con una differenza specificata .
  • SpineerListModel (Elenco I): crea un oggetto modello spineer con l'elemento Elenco. Richiede solo un argomento per essere passato.
  • getPreviousValue (): questo metodo possiamo dire che agisce da getter per questa classe per ottenere il valore precedente dello spinner.
  • getnextValue (): questo metodo funge da getter per ottenere il valore successivo di spineer.
  • setValue (Object v): questo metodo funge da metodo setter per impostare il valore di un oggetto passato come argomento.
  • getValue (): questo è anche un metodo getter che restituisce il valore corrente di spineer.

Esempi di Jspineer

Vediamo ora alcuni degli esempi.

Esempio 1

In questo esempio, creeremo un JSpineer di base per principianti. Creeremo una semplice classe java che estenderà il JFrame al suo interno di cui abbiamo bisogno per creare l'oggetto di JFrame, JSpineer entrambe queste classi sono disponibili nel pacchetto javax.swing. Possiamo impostare i limiti per lo spinner chiamando il metodo setBounds () che accetta quattro argomenti. Quindi dobbiamo definire il layout per il nostro frame chiamando setLayout (). Alla fine dobbiamo aggiungere il nostro componente JSpinner all'oggetto frame e, infine, definiremo la dimensione del nostro frame chiamando setSize () che prenderà due argomenti.

Di seguito puoi trovare l'esempio di 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();
)
)

Basta eseguirlo come applicazione java, verrà visualizzata una nuova finestra che conterrà il tuo Jspineer all'interno del frame. Di seguito trovi l'output allegato.

Ora possiamo premere la freccia per modificare il valore del filatore.

Esempio n. 2

Ora vedremo un altro esempio per scegliere la data di nascita da 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());
)
)

Di seguito puoi trovare l'output del programma sopra.

Qui stiamo definendo tre filatori per l'anno, il mese e la data. Quindi definiremo tre filatori qui.

Conclusione - JSpinner

JSpinner può essere utilizzato laddove sia richiesto l'inserimento di numeri o tipi di oggetto in sequenza o in ordine. Che può essere un incremento o un decremento e l'ordine del valore deve persistere. In quello scenario, possiamo scegliere JSpineer.

Articoli consigliati

Questa è una guida a JSpinner. Qui discutiamo di costruttori, sintassi e metodi di JSpinner insieme a diversi esempi e implementazione del codice. Puoi anche consultare i seguenti articoli per saperne di più -

  1. JTextField in Java (metodo, esempi)
  2. Usi di JDialog in Java
  3. JScrollPane in Java (esempi)
  4. Cosa sono le annotazioni in Java?
  5. JLabel in Java