Úvod do JSpinneru
JSpinner je komponenta, která nám umožňuje vybrat vstup, kterým může být objekt nebo číselná hodnota z uspořádané sekvence ze vstupního pole. JSpinner je třída a je k dispozici v balíčku javax.swing. Stejně jako jeho název napovídá, že točí jeho hodnotu ve směru nahoru a dolů, neobsahuje rozevírací seznam pro výběr vstupu. V podstatě obsahuje šipky nahoru a dolů. Když se pokusíme stisknout šipky, zobrazí se nám vstup podle našich požadavků.
Konstruktory JSpinner
JSpinner obsahuje dva konstruktory, které fungují takto:
- JSpineer (): Vytvoří prázdný číselník s výchozí hodnotou nastavenou na nulu. Je to jakýsi výchozí konstruktor bez argumentů.
- JSpineer (model SpineerModel): Jako argument, který určuje jeho sekvenční hodnotu, bere SprineerModel.
Syntaxe třídy Jspineer
public class JSpinner extends JComponent
implements Accessible
Třída JSpinner rozšiřuje třídu JComponent a implementuje přístupné rozhraní. Zde je JComponent nadřazená pro všechny komponenty výkyvů. Jakákoli třída, jejíž jméno začíná na „J“, je podřízenou třídou pro Jcomponent. Jcomponent dále rozšiřuje třídu Container. Tato třída nám poskytuje podporu při přidávání komponent do kontejneru. Nyní dostupné rozhraní nám poskytuje různé třídy a rozhraní, která se používají k definování smlouvy mezi asistenční technologií a přístupnou aplikací. Vrací objekt objektu AccessibleContext, který se otočí a poskytuje informace o dalších komponentách.
Metody JSpineer
Různé metody dostupné v JSpineer:
- SpineerNumberModel (int hodnota, int max, int min, int krok): Tato metoda bere čtyři argumenty. Počáteční hodnota Spinneru by byla hodnota nastavená v parametru 'value'. Nyní můžeme zadat maximální hodnotu pro spineer, tj. Parametr „max“, také můžeme definovat minimální hodnotu, tj. „Min“ parametr a posledním parametrem je „krok“, který je odpovědný za zvýšení nebo snížení hodnoty spineer se specifikovaným rozdílem .
- SpineerListModel (List I): Vytvoří objekt modelu spineer s prvkem List. Vyžaduje se pouze jeden argument.
- getPreviousValue (): Tuto metodu můžeme říci, že funguje jako getter pro tuto třídu, abychom získali předchozí hodnotu číselníku.
- getnextValue (): Tato metoda funguje jako getter, aby získala další hodnotu páteře.
- setValue (Object v): Tato metoda funguje jako metoda setter pro nastavení hodnoty objektu předaného jako argument.
- getValue (): Toto je také metoda getteru, která vrací aktuální hodnotu páteře.
Příklady Jspineera
Podívejme se nyní na některé příklady.
Příklad č. 1
V tomto příkladu vytvoříme základní JSpineer pro začátečníky. Vytvoříme jednoduchou třídu java, která v ní rozšíří JFrame, musíme vytvořit objekt JFrame, JSpineer obě tyto třídy jsou k dispozici v balíčku javax.swing. Můžeme nastavit hranice pro spinner voláním metody setBounds (), která bere čtyři argumenty. Pak musíme definovat rozvržení našeho snímku voláním setLayout (). Nakonec potřebujeme přidat naši komponentu JSpinner do objektu frame a nakonec definujeme velikost našeho rámce voláním setSize (), která vezme dva argumenty.
Níže naleznete příklad 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();
)
)
Stačí ji spustit jako java aplikaci, objeví se nové okno, které bude obsahovat váš Jspineer uvnitř rámu. Níže naleznete připojený výstup.
Nyní můžeme stisknutím šipky změnit hodnotu rozmetače.
Příklad č. 2
Nyní uvidíme další příklad, jak zvolit datum narození z Jspineera.
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());
)
)
Níže naleznete výstup výše uvedeného programu.
Zde definujeme tři přadleny pro rok, měsíc a datum. Takže zde definujeme tři přadleny.
Závěr - JSpinner
JSpinner lze použít tam, kde je požadováno zadání čísla nebo typu objektu v sekvenci nebo pořadí. Což může být buď přírůstek nebo úbytek, a pořadí hodnot by mělo přetrvávat. V tomto scénáři můžeme jít na JSpineer.
Doporučené články
Toto je průvodce JSpinnerem. Zde diskutujeme konstruktéry, syntaxe a metody JSpinner spolu s různými příklady a implementací kódu. Další informace naleznete také v následujících článcích -
- JTextField v Javě (metoda, příklady)
- Použití JDialogu v Javě
- JScrollPane v Javě (příklady)
- Co jsou anotace v Javě?
- JLabel v Javě