Въведение в JSpinner

JSpinner е компонент, който ни позволява да избираме вход, който може да бъде обект или числова стойност от подредена последователност от поле за въвеждане. JSpinner е клас и се предлага в пакета javax.swing. Както името му подсказва, че върти стойността си в посока нагоре и надолу, тя не съдържа падащ списък за избор на вход. Основно съдържа стрелки нагоре и надолу. Когато се опитваме да натискаме стрелките, тя ни показва входа според нашето изискване.

Конструктори на JSpinner

JSpinner съдържа два конструктора, които работят както следва:

  1. JSpineer (): Прави празен завъртач с стойността по подразбиране, зададена на нула. Това е един вид конструктор по подразбиране, без аргумент в него.
  2. JSpineer (модел SpineerModel): Той приема SprineerModel като аргумент, който определя стойността му на последователност.

Синтаксис на Jspineer клас

public class JSpinner extends JComponent
implements Accessible

Класът JSpinner разширява класа JComponent и реализира Достъпния интерфейс. Тук JComponent е суперкласът за всички компоненти на люлка. Всеки клас, чието име започва с „J“, е дочерният клас за Jcomponent. Jcomponent допълнително разширява класа Container. Този клас ни предоставя подкрепа за добавяне на компоненти в контейнера. Сега достъпният интерфейс ни предоставя различни класове и интерфейси, които се използват за определяне на договор между помощната технология и достъпното приложение. Той връща обекта на обект AccessibleContext, който се превръща, за да предостави информация за други компоненти.

JSpineer методи

Различни методи, налични в JSpineer:

  • SpineerNumberModel (int стойност, int max, int min, int step): Този метод отнема четири аргумента. Началната стойност на Spinner ще бъде стойност, зададена в параметъра 'value'. Сега можем да определим максимална стойност за spineer т.е. параметър „max“, също така можем да определим минимална стойност, т.е. параметър „min“, а последният параметър е „step“, който е отговорен за увеличаването или намаляването на стойността на spineer с определена разлика,
  • SpineerListModel (Списък I): Създава обект на модел spineer с елемента на List. Изисква се само един аргумент.
  • getPreviousValue (): Този метод можем да кажем действа като гетер за този клас, за да получи предишната стойност на спинера.
  • getnextValue (): Този метод действа като гетер, за да получи следващата стойност на spineer.
  • setValue (Object v): Този метод действа като метод на setter за задаване на стойността на обект, предаден като аргумент.
  • getValue (): Това също е метод на getter, който връща текущата стойност на spineer.

Примери за Jspineer

Нека сега да разгледаме някои от примерите.

Пример №1

В този пример ще създадем основен JSpineer за начинаещи. Ще създадем прост java клас, който ще разшири JFrame вътре в него, за да създадем обекта на JFrame, JSpineer и двата класа са налични в javax.swing пакет. Можем да зададем границите на въртене, като извикаме метода setBounds (), който взема четири аргумента. След това трябва да определим оформлението за нашия кадър, като се обадим на setLayout (). Най-накрая трябва да добавим нашия компонент JSpinner към обекта frame и накрая, ще определим размера на нашия кадър, като извикаме setSize (), който ще вземе два аргумента.

По-долу можете да намерите примера на 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();
)
)

Просто го стартирайте като java приложение ще се появи нов прозорец, който ще съдържа вашия Jspineer вътре в рамката. По-долу намерете изхода приложен.

Сега можем да натиснем стрелката, за да променим стойността на спинера.

Пример №2

Сега ще видим още един пример за избор на датата на раждане от 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());
)
)

По-долу можете да намерите изхода на горната програма.

Тук определяме три спинери за годината, месеца и датата. Така че тук ще определим три спинери.

Заключение - JSpinner

JSpinner може да се използва, когато се изисква въвеждане на номер или тип обект в последователност или по ред. Което може да бъде или увеличение, или декремент и ред на стойността, които да продължат да съществуват. При този сценарий можем да продължим за JSpineer.

Препоръчителни статии

Това е ръководство за JSpinner. Тук обсъждаме конструктори, синтаксис и методи на JSpinner, заедно с различни примери и реализация на код. Можете също да разгледате следните статии, за да научите повече -

  1. JTextField в Java (метод, примери)
  2. Използване на JDialog в Java
  3. JScrollPane на Java (Примери)
  4. Какво представляват поясненията в Java?
  5. JLabel на Java