Introduksjon til JSpinner
JSpinner er en komponent som lar oss velge en inngang som kan være et objekt eller en tallverdi fra en ordnet sekvens fra et inndatafelt. JSpinner er en klasse og den er tilgjengelig i pakken javax.swing. Som navnet antyder, snurrer det verdien i oppover og nedover. Den inneholder ikke en rullegardinliste for å velge en inngang. Den inneholder i utgangspunktet oppadgående og nedadgående piler. Når vi prøver å trykke på pilene viser det oss innspillene i henhold til kravet vårt.
Konstruktører av JSpinner
JSpinner inneholder to konstruktører som fungerer som følger:
- JSpineer (): Den gjør en tom spinner med standardverdien satt til null. Det er en slags standardkonstruktør uten argument i det.
- JSpineer (SpineerModel-modellen): Den tar SprineerModel som et argument som bestemmer sekvensverdien.
Syntax of Jspineer Class
public class JSpinner extends JComponent
implements Accessible
JSpinner-klassen utvider JComponent Class og implementerer det tilgjengelige grensesnittet. Her er JComponent superklassen for alle svingkomponentene. Enhver klasse hvis navn starter med 'J' er barneklassen for Jcomponent. Jcomponent utvider Container-klassen ytterligere. Denne klassen gir oss støtte for å legge komponenter til containeren. Nå tilgjengelig grensesnitt gir oss forskjellige klasser og grensesnitt som brukes til å definere en kontrakt mellom hjelpemidler og tilgjengelig applikasjon. Den returnerer objektet til AccessibleContext-objektet som viser seg å gi informasjon om andre komponenter.
JSpineer-metoder
Ulike metoder tilgjengelig i JSpineer:
- SpineerNumberModel (int-verdi, int maks, int min, int trinn): Denne metoden tar fire argumenter. Spinnerens begynnelsesverdi vil være en verdi som er satt i parameteren 'verdi'. Nå kan vi spesifisere en maksimal verdi for en spineer dvs. 'maks' parameter, også kan vi definere en minimumsverdi dvs. 'min' parameter og den siste parameteren er "trinn" som er ansvarlig for å øke eller redusere spineerverdien med en spesifisert forskjell .
- SpineerListModel (liste I): Det oppretter et ryggradmodellobjekt med elementet i listen. Det krever at bare ett argument føres.
- getPreviousValue (): Denne metoden vi kan si fungerer som en getter for denne klassen for å få den forrige verdien til spinneren.
- getnextValue (): Denne metoden fungerer som en getter for å få den neste verdien av spineer.
- setValue (Object v): Denne metoden fungerer som en setter-metode for å angi verdien på et objekt som er passert som et argument.
- getValue (): Dette er også en getter-metode som returnerer gjeldende verdi på spineer.
Eksempler på Jspineer
La oss nå se på noen av eksemplene.
Eksempel 1
I dette eksemplet vil vi lage en grunnleggende JSpineer for nybegynnere. Vi vil lage en enkel java-klasse som utvider JFrame i den vi trenger for å lage objektet til JFrame, JSpineer begge disse klassene er tilgjengelige i javax.swing-pakken. Vi kan sette grensene for spinneren ved å kalle metoden setBounds () som tar fire argumenter. Da må vi definere oppsettet for rammen vår ved å ringe setLayout (). Til slutt må vi legge JSpinner-komponenten til rammeobjektet, og til slutt definerer vi størrelsen på rammen vår ved å ringe setSize () som vil ta to argumenter.
Nedenfor kan du finne JSpinner-eksempelet.
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 kjør den som java-applikasjon, et nytt vindu vil popup som inneholder din Jspineer inne i rammen. Nedenfor finner du utgangen som er vedlagt.
Nå kan vi trykke på pilen for å endre verdien på spinneren.
Eksempel 2
Nå vil vi se ett eksempel til å velge 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 finne utdataene fra programmet over.
Her definerer vi tre spinnere for året, måneden og datoen. Så vi skal definere tre spinnere her.
Konklusjon - JSpinner
JSpinner kan brukes der antall eller objekttypeinngang er nødvendig i en sekvens eller i rekkefølge. Noe som kan være inkrement eller reduksjon og verdiens rekkefølge vil fortsette. I det scenariet kan vi gå for JSpineer.
Anbefalte artikler
Dette er en guide til JSpinner. Her diskuterer vi konstruktører, syntaks og metoder for JSpinner sammen med forskjellige eksempler og kodeimplementering. Du kan også se på følgende artikler for å lære mer -
- JTextField i Java (metode, eksempler)
- Bruk av JDialog i Java
- JScrollPane i Java (eksempler)
- Hva er merknader i Java?
- JLabel i Java