Introductie tot JSpinner
JSpinner is een component waarmee we een invoer kunnen selecteren die een object of een getalswaarde kan zijn uit een geordende reeks uit een invoerveld. JSpinner is een klasse en is beschikbaar in het pakket javax.swing. Zoals de naam al doet vermoeden, draait het zijn waarde in opwaartse en neerwaartse richting en bevat het geen vervolgkeuzelijst om een invoer te selecteren. Het bevat in principe opwaartse en neerwaartse pijlen. Wanneer we proberen op de pijlen te drukken, toont het ons de invoer volgens onze vereiste.
Constructeurs van JSpinner
JSpinner bevat twee constructors die als volgt werken:
- JSpineer (): hiermee wordt een lege spinner gemaakt met de standaardwaarde ingesteld op nul. Het is een soort standaardconstructor zonder argument.
- JSpineer (SpineerModel-model): het neemt SprineerModel als een argument dat de sequentiewaarde bepaalt.
Syntaxis van Jspineer Class
public class JSpinner extends JComponent
implements Accessible
De klasse JSpinner breidt de JComponent-klasse uit en implementeert de toegankelijke interface. Hier is JComponent de superklasse voor alle swingcomponenten. Elke klasse waarvan de naam begint met 'J' is de onderliggende klasse voor Jcomponent. Jcomponent breidt de klasse Container verder uit. Deze klasse biedt ons de ondersteuning om componenten aan de container toe te voegen. Nu biedt de toegankelijke interface ons verschillende klassen en interfaces die worden gebruikt om een contract tussen ondersteunende technologie en toegankelijke toepassing te definiëren. Het retourneert het object van het AccessibleContext-object dat wordt omgezet in informatie over andere componenten.
JSpineer-methoden
Verschillende methoden beschikbaar in JSpineer:
- SpineerNumberModel (int waarde, int max, int min, int stap): deze methode heeft vier argumenten. De initiële waarde van de spinner is een waarde die is ingesteld in de parameter 'waarde'. Nu kunnen we een maximale waarde opgeven voor een spineer-parameter, bijvoorbeeld 'max', ook kunnen we een minimale waarde definiëren, bijvoorbeeld 'min'-parameter en de laatste parameter is' step ', die verantwoordelijk is voor het verhogen of verlagen van de spineer-waarde met een opgegeven verschil .
- SpineerListModel (Lijst I): het creëert een spineer-modelobject met het element Lijst. Er hoeft slechts één argument te worden doorgegeven.
- getPreviousValue (): deze methode kunnen we zeggen fungeert als een getter voor deze klasse om de vorige waarde van de spinner te krijgen.
- getnextValue (): deze methode werkt als een getter om de volgende waarde van spineer te krijgen.
- setValue (Object v): deze methode fungeert als een settermethode om de waarde van een doorgegeven object in te stellen als argument.
- getValue (): dit is ook een getter-methode die de huidige waarde van spineer retourneert.
Voorbeelden van Jspineer
Laten we nu enkele voorbeelden bekijken.
Voorbeeld 1
In dit voorbeeld maken we een eenvoudige JSpineer voor beginners. We zullen een eenvoudige Java-klasse maken die het JFrame erin uitbreidt. We hebben het object JFrame nodig, JSpineer. Beide klassen zijn beschikbaar in het pakket javax.swing. We kunnen de grenzen voor de spinner instellen door de methode setBounds () aan te roepen waarvoor vier argumenten nodig zijn. Vervolgens moeten we de lay-out voor ons frame definiëren door setLayout () aan te roepen. Eindelijk moeten we onze JSpinner-component toevoegen aan het frame-object en tot slot zullen we de grootte van ons frame definiëren door setSize () aan te roepen waarvoor twee argumenten nodig zijn.
Hieronder vindt u het voorbeeld van 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();
)
)
Voer het gewoon uit als Java-toepassing, er verschijnt een nieuw venster met uw Jspineer in het frame. Hieronder vindt u de bijgevoegde output.
Nu kunnen we op de pijl drukken om de waarde van de spinner te wijzigen.
Voorbeeld 2
Nu zullen we nog een voorbeeld zien om de geboortedatum van de Jspineer te kiezen.
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());
)
)
Hieronder vindt u de output van het bovenstaande programma.
Hier definiëren we drie spinners voor het jaar, de maand en de datum. Dus we gaan hier drie spinners definiëren.
Conclusie - JSpinner
JSpinner kan worden gebruikt wanneer nummer- of objecttypeinvoer in een reeks of in volgorde is vereist. Dat kan een toename of een verlaging zijn en de volgorde van waarde wilde blijven bestaan. In dat scenario kunnen we voor JSpineer gaan.
Aanbevolen artikelen
Dit is een handleiding voor JSpinner. Hier bespreken we constructors, syntaxis en methoden van JSpinner samen met verschillende voorbeelden en code-implementatie. U kunt ook de volgende artikelen bekijken voor meer informatie -
- JTextField in Java (methode, voorbeelden)
- Gebruik van JDialog in Java
- JScrollPane in Java (voorbeelden)
- Wat zijn annotaties in Java?
- JLabel in Java