Java >> Java tutorial >  >> Tag >> Swing

JSpinner – Java Swing – Eksempel

I denne tutorial skal vi se et eksempel på JSpinner i Java Swing. JSpinner er en del af javax.swing-pakken. JSpinner indeholder en enkelt linje input, der kan være et tal eller et objekt i en ordnet rækkefølge. Brugeren kan manuelt indtaste data i spinnerens tekstfelt. Spinneren foretrækkes nogle gange, fordi den ikke behøver en rulleliste. Spinnere indeholder op/ned-pile for at vise det forrige og næste element, når der trykkes på dem.


JSpinner-konstruktørklasse:
JSpinner Constructors Beskrivelse
JSpinner() Opretter en tom spinner med en startværdi sat til nul og ingen begrænsninger.
JSpinner(SpinnerModel model) Opretter en spinner med en specificeret spinner-skabelon sendt som argument.


Almindelig anvendte metoder:

  • setValue(Object v) :Definerer værdien af ​​spinneren på objektet, der sendes i argument.
  • getValue() :Returnerer den aktuelle værdi af spinneren.
  • getPreviousValue() :Returnerer den forrige værdi af spinneren.
  • getNextValue() :Returnerer den næste værdi af spinneren.
  • SpinnerListModel(Liste l) :Opretter en spinnermodel med elementer fra listen l. Denne spinnermodel kan bruges til at definere som en spinnermodel.
  • SpinnerNumberModel(int val, int max, int min, int step) :Returnerer et spinnermønster, hvis startværdi er indstillet til "val", med en minimums- og maksimumværdi og en defineret trinværdi.


Eksempel på JSpinner i Java Swing:
import javax.swing.*;  
import javax.swing.event.*;

public class Main 
{
  public static void main(String[] args) 
  {  
    JFrame frame = new JFrame();  
    
    final JLabel label = new JLabel();          
    label.setHorizontalAlignment(JLabel.CENTER);  
    label.setSize(250,100);  
    
    SpinnerModel model = new SpinnerNumberModel(
                2,  //initial value
                0,  //minimum value
                20, //maximum value
                1   //step
    ); 
    JSpinner sp = new JSpinner(model); 
    sp.setBounds(100,100,45,30);  
    frame.add(sp);  
    
    frame.add(label);
    frame.setSize(250,250);  
    frame.setLayout(null);  
    frame.setVisible(true);  
    
    //when the up/down arrows is pressed
    sp.addChangeListener(new ChangeListener() {
      public void stateChanged(ChangeEvent e) {
        label.setText("Value : " + ((JSpinner)e.getSource()).getValue());
      }
    });
  }
}

Output:


Java tag