Introduktion till JSpinner
JSpinner är en komponent som tillåter oss att välja en ingång som kan vara ett objekt eller ett talvärde från en ordnad sekvens från ett inmatningsfält. JSpinner är en klass och den finns i paketet javax.swing. Som namnet antyder spinner det sitt värde i uppåt och nedåt riktning det inte innehåller en rullgardinslista för att välja en ingång. Den innehåller i princip upp- och nedåtpilar. När vi försöker trycka på pilarna visar det ingången enligt vårt krav.
Konstruktörer av JSpinner
JSpinner innehåller två konstruktörer som fungerar enligt följande:
- JSpineer (): Det gör en tom spinner med standardvärdet inställt på noll. Det är en typ av standardkonstruktör utan argument i det.
- JSpineer (SpineerModel-modellen): Det tar SprineerModel som ett argument som avgör dess sekvensvärde.
Syntax of Jspineer Class
public class JSpinner extends JComponent
implements Accessible
JSpinner-klassen utökar JComponent Class och implementerar det tillgängliga gränssnittet. Här är JComponent superklass för alla svingkomponenter. Varje klass vars namn börjar med 'J' är barnklass för Jcomponent. Jcomponent utökar Container-klassen ytterligare. Denna klass ger oss stöd för att lägga till komponenter i behållaren. Nu tillgängligt gränssnitt ger oss olika klasser och gränssnitt som används för att definiera ett kontrakt mellan hjälpmedel och tillgänglig applikation. Det returnerar objektet för AccessibleContext-objekt som vänder sig för att ge information om andra komponenter.
JSpineer-metoder
Olika metoder tillgängliga i JSpineer:
- SpineerNumberModel (int-värde, int max, int min, int-steg): Den här metoden tar fyra argument. Spinners initialvärde skulle vara ett värde som anges i parametern 'värde'. Nu kan vi ange ett maximivärde för en spineer dvs. "max" -parameter, också kan vi definiera ett minimivärde dvs. "min" -parameter och den sista parametern är "steg" som är ansvarig för att öka eller minska spineer-värdet med en specificerad skillnad .
- SpineerListModel (lista I): Det skapar ett ryggmodellobjekt med elementet i listan. Det kräver bara ett argument för att kunna överföras.
- getPreviousValue (): Den här metoden som vi kan säga fungerar som en getter för den här klassen för att få det tidigare värdet på spinnaren.
- getnextValue (): Den här metoden fungerar som en getter för att få nästa värde på spineer.
- setValue (Objekt v): Den här metoden fungerar som en setermetod för att ställa in värdet på ett objekt som skickas som ett argument.
- getValue (): Detta är också en getter-metod som returnerar det nuvarande värdet på spineer.
Exempel på Jspineer
Låt oss nu titta på några av exemplen.
Exempel 1
I det här exemplet kommer vi att skapa en grundläggande JSpineer för nybörjare. Vi kommer att skapa en enkel java-klass som utvidgar JFrame inuti den vi behöver för att skapa objektet med JFrame, JSpineer båda dessa klasser finns i paketet javax.swing. Vi kan ställa in gränserna för spinnaren genom att kalla metoden setBounds () som tar fyra argument. Då måste vi definiera layouten för vår ram genom att ringa setLayout (). Till sist måste vi lägga till vår JSpinner-komponent i ramobjektet och slutligen definierar vi storleken på vår ram genom att ringa setSize () som kommer att ta två argument.
Nedan hittar du JSpinner-exemplet.
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();
)
)
Kör det bara som java-applikation ett nytt fönster kommer att popup som innehåller din Jspineer inuti ramen. Nedan hittar du den bifogade utgången.
Nu kan vi trycka på pilen för att ändra spinnets värde.
Exempel 2
Nu kommer vi att se ytterligare ett exempel för att välja födelsedatum från 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());
)
)
Nedan hittar du utgången från ovanstående program.
Här definierar vi tre spinnare för året, månaden och datumet. Så vi kommer att definiera tre spinnare här.
Slutsats - JSpinner
JSpinner kan användas där nummer- eller objekttypinmatning krävs i en sekvens eller i ordning. Vilket kan vara antingen ökning eller minskning och värderingsordning kommer att fortsätta. I det scenariot kan vi gå för JSpineer.
Rekommenderade artiklar
Detta är en guide till JSpinner. Här diskuterar vi konstruktörer, syntax och metoder för JSpinner tillsammans med olika exempel och kodimplementering. Du kan också titta på följande artiklar för att lära dig mer -
- JTextField i Java (metod, exempel)
- Användningar av JDialog i Java
- JScrollPane i Java (exempel)
- Vad är kommentarer i Java?
- JLabel i Java