Introduktion til JSpinner
JSpinner er en komponent, der giver os mulighed for at vælge et input, der kan være et objekt eller en talværdi fra en ordnet sekvens fra et inputfelt. JSpinner er en klasse, og den fås i pakken javax.swing. Som navnet antyder, drejer det sin værdi i retning opad og nedad, og den indeholder ikke en rulleliste for at vælge et input. Det indeholder dybest set pile opad og nedad. Når vi prøver at trykke på pilene, viser det os input i henhold til vores krav.
Konstruktører af JSpinner
JSpinner indeholder to konstruktører, der fungerer som følger:
- JSpineer (): Det gør en tom spinner med standardværdien indstillet til nul. Det er en slags standardkonstruktør uden noget argument i den.
- JSpineer (SpineerModel-model): Det tager SprineerModel som et argument, der bestemmer dens sekvensværdi.
Syntaks for Jspineer Class
public class JSpinner extends JComponent
implements Accessible
JSpinner-klassen udvider JComponent-klassen og implementerer det tilgængelige interface. Her er JComponent superklassen til alle svingkomponenter. Enhver klasse, hvis navn starter med 'J', er barneklassen for Jcomponent. Jcomponent udvider Container-klassen yderligere. Denne klasse giver os support til at tilføje komponenter til containeren. Nu tilgængelig interface giver os forskellige klasser og grænseflader, der bruges til at definere en kontrakt mellem hjælpemidler og tilgængelig applikation. Det returnerer objektet i AccessibleContext-objektet, som viser sig at give information om andre komponenter.
JSpineer-metoder
Forskellige metoder tilgængelige i JSpineer:
- SpineerNumberModel (int-værdi, int max, int min, int trin): Denne metode tager fire argumenter. Spinner-initialværdi ville være en værdi, der er sat i parameteren 'værdi'. Nu kan vi specificere en maksimal værdi for en spineer dvs. 'max' parameter, også kan vi definere en minimumværdi dvs. 'min' parameter og den sidste parameter er 'trin' som er ansvarlig for at øge eller nedskære spineer værdi med en specificeret forskel .
- SpineerListModel (liste I): Det opretter et spineer-modelobjekt med elementet i listen. Det kræver kun et argument, der skal føres.
- getPreviousValue (): Denne metode, som vi kan sige, fungerer som en getter for denne klasse for at få den tidligere værdi af spineren.
- getnextValue (): Denne metode fungerer som en getter for at få den næste værdi af spineer.
- setValue (Objekt v): Denne metode fungerer som en sætningsmetode til at indstille værdien af et objekt, der er sendt som et argument.
- getValue (): Dette er også en getter-metode, der returnerer den aktuelle værdi af spineer.
Eksempler på Jspineer
Lad os nu se på nogle af eksemplerne.
Eksempel 1
I dette eksempel vil vi oprette en grundlæggende JSpineer til begyndere. Vi opretter en simpel java-klasse, som udvider JFrame inden i den, vi har brug for, for at oprette objektet med JFrame, JSpineer begge disse klasser er tilgængelige i javax.swing-pakken. Vi kan indstille grænserne for spinneren ved at kalde metoden setBounds (), der tager fire argumenter. Derefter skal vi definere layoutet til vores ramme ved at kalde setLayout (). Til sidst skal vi tilføje vores JSpinner-komponent til rammeobjektet, og til sidst definerer vi størrelsen på vores ramme ved at kalde setSize (), der tager to argumenter.
Nedenfor kan du finde JSpinner-eksemplet.
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();
)
)
Bare kør det som java-applikation, der vises et nyt vindue, der indeholder din Jspineer inde i rammen. Nedenfor finder du det vedlagte output.
Nu kan vi trykke på pilen for at ændre værdien af spineren.
Eksempel 2
Nu ser vi endnu et eksempel til at vælge fødselsdato fra 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());
)
)
Nedenfor kan du finde output fra ovenstående program.
Her definerer vi tre spinnere for året, måneden og datoen. Så vi vil definere tre spinnere her.
Konklusion - JSpinner
JSpinner kan bruges, hvor indtastning af nummer eller objekttype er påkrævet i en rækkefølge eller i rækkefølge. Hvilket kan være inkrement eller nedgang og værdien af rækkefølge vil fortsætte. I dette scenarie kan vi gå til JSpineer.
Anbefalede artikler
Dette er en guide til JSpinner. Her diskuterer vi konstruktører, syntaks og metoder til JSpinner sammen med forskellige eksempler og kodeimplementering. Du kan også se på de følgende artikler for at lære mere -
- JTextField i Java (metode, eksempler)
- Anvendelser af JDialog i Java
- JScrollPane i Java (eksempler)
- Hvad er kommentarer i Java?
- JLabel i Java