Wprowadzenie do JSpinner
JSpinner to komponent, który pozwala nam wybrać wejście, które może być obiektem lub wartością liczbową z uporządkowanej sekwencji z pola wejściowego. JSpinner jest klasą i jest dostępny w pakiecie javax.swing. Jak sama nazwa wskazuje, obraca swoją wartość w górę i w dół, nie zawiera rozwijanej listy do wyboru danych wejściowych. Zasadniczo zawiera strzałki w górę i w dół. Kiedy próbujemy nacisnąć strzałki, pokazuje nam dane wejściowe zgodnie z naszymi wymaganiami.
Konstruktory JSpinner
JSpinner zawiera dwa konstruktory, które działają w następujący sposób:
- JSpineer (): tworzy pustą przędzarkę z domyślną wartością zerową. Jest to rodzaj domyślnego konstruktora bez argumentów.
- JSpineer (model SpineerModel): Pobiera SprineerModel jako argument decydujący o jego wartości sekwencji.
Składnia klasy Jspineer
public class JSpinner extends JComponent
implements Accessible
Klasa JSpinner rozszerza klasę JComponent i implementuje interfejs dostępny. Tutaj JComponent jest nadklasą dla wszystkich elementów wahadłowych. Każda klasa, której nazwa zaczyna się na „J”, jest klasą podrzędną dla Jcomponent. Jcomponent dodatkowo rozszerza klasę Container. Ta klasa zapewnia nam obsługę dodawania komponentów do kontenera. Teraz dostępny interfejs zapewnia nam różne klasy i interfejsy, które służą do definiowania umowy między technologią wspomagającą a dostępną aplikacją. Zwraca obiekt AccessibleContext, który obraca się, aby dostarczyć informacje o innych komponentach.
Metody JSpineer
Różne metody dostępne w JSpineer:
- SpineerNumberModel (wartość int, int max, int min, int krok): Ta metoda przyjmuje cztery argumenty. Wartość początkowa przędzarki byłaby wartością ustawioną w parametrze „wartość”. Teraz możemy określić maksymalną wartość dla kręgosłupa, tj. Parametr „max”, możemy również zdefiniować wartość minimalną, tj. Parametr „min”, a ostatnim parametrem jest „krok”, który odpowiada za zwiększenie lub zmniejszenie wartości kręgosłupa z określoną różnicą .
- SpineerListModel (List I): Tworzy obiekt modelu kręgosłupa z elementem List. Wymaga tylko jednego argumentu.
- getPreviousValue (): Metoda, o której możemy powiedzieć, że działa jako getter dla tej klasy w celu uzyskania poprzedniej wartości pokrętła.
- getnextValue (): Ta metoda działa jak getter, aby uzyskać następną wartość spineer.
- setValue (Object v): Ta metoda działa jako metoda ustawiająca, aby ustawić wartość obiektu przekazywanego jako argument.
- getValue (): Jest to również metoda pobierająca, która zwraca bieżącą wartość spineer.
Przykłady Jspineer
Przyjrzyjmy się teraz niektórym przykładom.
Przykład 1
W tym przykładzie stworzymy podstawowy JSpineer dla początkujących. Stworzymy prostą klasę Java, która rozszerzy wewnątrz JFrame. Musimy stworzyć obiekt JFrame, JSpineer obie te klasy są dostępne w pakiecie javax.swing. Możemy ustawić granice dla pokrętła, wywołując metodę setBounds (), która przyjmuje cztery argumenty. Następnie musimy zdefiniować układ naszej ramki, wywołując setLayout (). W końcu musimy dodać nasz komponent JSpinner do obiektu ramki, a na koniec zdefiniujemy rozmiar naszej ramki, wywołując metodę setSize (), która pobierze dwa argumenty.
Poniżej znajduje się przykład 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();
)
)
Po prostu uruchom go jako aplikację Java, pojawi się nowe okno, które będzie zawierało Twój Jspineer wewnątrz ramki. Poniżej znajdź wyjście w załączeniu.
Teraz możemy nacisnąć strzałkę, aby zmienić wartość pokrętła.
Przykład nr 2
Teraz zobaczymy jeszcze jeden przykład, aby wybrać datę urodzenia z 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());
)
)
Poniżej znajdziesz wyniki powyższego programu.
Tutaj definiujemy trzy pokrętła dla roku, miesiąca i daty. Zdefiniujemy tutaj trzy pokrętła.
Wniosek - JSpinner
JSpinner może być używany tam, gdzie wymagane jest wprowadzanie liczby lub typu obiektu w sekwencji lub w kolejności. Który może być przyrostem lub spadkiem, a kolejność wartości będzie trwała. W tym scenariuszu możemy wybrać JSpineer.
Polecane artykuły
To jest przewodnik po JSpinner. Tutaj omawiamy konstruktory, składnię i metody JSpinner wraz z różnymi przykładami i implementacją kodu. Możesz także przejrzeć następujące artykuły, aby dowiedzieć się więcej -
- JTextField w Javie (metoda, przykłady)
- Zastosowania JDialog w Javie
- JScrollPane w Javie (przykłady)
- Co to są adnotacje w Javie?
- JLabel w Javie