Introducere în JSpinner
JSpinner este o componentă care ne permite să selectăm o intrare care poate fi un obiect sau o valoare numerică dintr-o secvență ordonată dintr-un câmp de intrare. JSpinner este o clasă și este disponibil în pachetul javax.swing. Așa cum sugerează numele său, își învârte valoarea în direcția ascendentă și descendentă, nu conține o listă derulantă pentru a selecta o intrare. Practic conține săgeți în sus și în jos. Când încercăm să apăsăm săgețile, acesta ne arată intrarea în conformitate cu cerințele noastre.
Constructorii JSpinner
JSpinner conține doi constructori care funcționează astfel:
- JSpineer (): face un spinner gol cu valoarea implicită setată la zero. Este un fel de constructor implicit fără argument în el.
- JSpineer (modelul SpineerModel): ia SprineerModel ca un argument care decide valoarea secvenței sale.
Sintaxa clasei Jspineer
public class JSpinner extends JComponent
implements Accessible
Clasa JSpinner extinde clasa JComponent și implementează interfața accesibilă. Aici JComponent este superclasa pentru toate componentele swing. Orice clasă al cărei nume începe cu „J” este clasa copil pentru Jcomponent. Jcomponent extinde în continuare clasa Container. Această clasă ne oferă suportul pentru a adăuga componente la container. Interfața accesibilă ne oferă diverse clase și interfețe care sunt utilizate pentru a defini un contract între tehnologia asistentă și aplicația accesibilă. Acesta returnează obiectul AccessibleContext care se transformă pentru a furniza informații despre alte componente.
Metode JSpineer
Diferite metode disponibile în JSpineer:
- SpineerNumberModel (valoare int, max, int min, int pas): această metodă are patru argumente. Valoarea inițială Spinner ar fi o valoare setată în parametrul „valoare”. Acum putem specifica o valoare maximă pentru spineer, adică parametrul „max”, de asemenea, putem defini o valoare minimă, adică parametrul „min”, iar ultimul parametru este „pas”, care este responsabil pentru creșterea sau micșorarea valorii spinării cu o diferență specificată. .
- SpineerListModel (Listă I): Creează un obiect model spineer cu elementul List. Este nevoie de un singur argument pentru a fi transmis.
- getPreviousValue (): Această metodă putem spune că acționează ca un getter pentru această clasă pentru a obține valoarea anterioară a filatorului.
- getnextValue (): această metodă acționează ca un getter pentru a obține următoarea valoare a spinării.
- setValue (Object v): Această metodă acționează ca o metodă setter pentru a stabili valoarea unui obiect trecut ca argument.
- getValue (): Aceasta este, de asemenea, o metodă getter care returnează valoarea curentă a spinării.
Exemple de Jspineer
Să aruncăm acum o privire la câteva dintre exemple.
Exemplul # 1
În acest exemplu, vom crea un JSpineer de bază pentru începători. Vom crea o clasă java simplă, care va extinde JFrame în interiorul său trebuie să creăm obiectul JFrame, JSpineer ambele aceste clase sunt disponibile în pachetul javax.swing. Putem seta limitele pentru filator apelând la metoda setBounds () care are patru argumente. Apoi, trebuie să definim aspectul cadrului nostru apelând setLayout (). În sfârșit, trebuie să adăugăm componenta JSpinner la obiectul cadru și, în sfârșit, vom defini dimensiunea cadrului nostru apelând setSize (), care va lua două argumente.
Mai jos puteți găsi exemplul 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();
)
)
Rulează-l ca aplicație java, va apărea o fereastră nouă care va conține Jspineer-ul tău în cadru. Mai jos găsiți ieșirea atașată.
Acum putem apăsa săgeata pentru a schimba valoarea filetului.
Exemplul # 2
Acum vom vedea încă un exemplu pentru a alege data nașterii de la 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());
)
)
Mai jos puteți găsi rezultatele programului de mai sus.
Aici definim trei filiere pentru an, lună și dată. Așadar, vom defini aici trei filari.
Concluzie - JSpinner
JSpinner poate fi utilizat acolo unde este necesară introducerea unui număr sau a unui obiect într-o secvență sau în ordine. Care poate fi fie incrementare, fie decrementare, cât și ordinea valorii wan să persiste. În acest scenariu, putem merge pentru JSpineer.
Articole recomandate
Acesta este un ghid pentru JSpinner. Aici discutăm constructori, sintaxa și metode de JSpinner împreună cu diferite exemple și implementarea codului. De asemenea, puteți consulta următoarele articole pentru a afla mai multe -
- JTextField în Java (metodă, exemple)
- Utilizări ale JDialog în Java
- JScrollPane în Java (Exemple)
- Ce sunt adnotările în Java?
- JLabel în Java