Oscilación de Java | JSpinner

JSpinner es parte del paquete javax.swing. JSpinner contiene una sola línea de entrada que puede ser un número o un objeto de una secuencia ordenada. El usuario puede escribir manualmente datos legales en el campo de texto de la rueda giratoria. A veces se prefiere la rueda giratoria porque no necesitan una lista desplegable. Los botones giratorios contienen una flecha hacia arriba y hacia abajo para mostrar el elemento anterior y el siguiente cuando se presiona.

Los constructores de JSpinner son: 

  1. JSpinner(): crea una rueda vacía con un valor inicial establecido en cero y sin restricciones.
  2. JSpinner (Modelo SpinnerModel): crea un spinner con un modelo de spinner especificado que se pasa como argumento.

Los métodos comúnmente utilizados son:

  1. SpinnerListModel (Lista l): crea un modelo giratorio con elementos de la lista l. Este modelo de spinner se puede utilizar para establecer como modelo para spinner.
  2. SpinnerNumberModel(int value, int max, int min, int step): devuelve un modelo giratorio cuyo valor inicial se establece en valor, con valor mínimo y máximo, y un valor de paso definido.
  3. setValue(Objeto v): establece el valor de la ruleta al objeto pasado como argumento.
  4. getValue(): devuelve el valor actual de la ruleta.
  5. getPreviousValue(): devuelve el valor anterior de la ruleta.
  6. getNextValue(): devuelve el siguiente valor de la ruleta.

1. Programa para crear un JSpinner simple

Java

// java Program to create a
// simple JSpinner
import java.awt.event.*;
import javax.swing.*;
import java.awt.*;
class spinner extends JFrame {
    // frame
    static JFrame f;
 
    // default constructor
    spinner()
    {
    }
 
    // main class
    public static void main(String[] args)
    {
        // create  a new frame
        f = new JFrame("spinner");
 
        // create a JSpinner
        JSpinner s = new JSpinner();
 
        // set Bounds for spinner
        s.setBounds(70, 70, 50, 40);
 
        // set layout for frame
        f.setLayout(null);
 
        // add panel to frame
        f.add(s);
 
        // set frame size
        f.setSize(300, 300);
 
        f.show();
    }
}

Producción :
 

2. Programa para crear un JSpinner y agregarle ChangeListener; Programa para seleccionar tu fecha de nacimiento usando JSpinner.

Java

// Java program to select your
// date of birth using JSpinner
import java.awt.event.*;
import javax.swing.*;
import java.awt.*;
import javax.swing.event.*;
class spinner1 extends JFrame implements ChangeListener {
    // frame
    static JFrame f;
 
    // label
    static JLabel l, l1;
 
    // spinner
    static JSpinner s, s1, s2;
 
    // default constructor
    spinner1()
    {
    }
 
    // main class
    public static void main(String[] args)
    {
        // create an object of the class
        spinner1 sp1 = new spinner1();
 
        // create  a new frame
        f = new JFrame("spinner");
 
        // create a label
        l = new JLabel("select your date of birth");
        l1 = new JLabel("1 January 2000");
 
        // create a JSpinner with a minimum, maximum and step value
        s = new JSpinner();
        s1 = new JSpinner(new SpinnerNumberModel(1, 1, 31, 1));
 
        // setvalue of year
        s.setValue(2000);
 
        // store the months
        String months[] = { "January", "February", "March",
        "April", "May", "June", "July", "August",
        "September", "October", "Novemeber", "December" };
 
        // create a JSpinner with list values
        s2 = new JSpinner(new SpinnerListModel(months));
 
        // add change listener to spinner
        s.addChangeListener(sp1);
        s1.addChangeListener(sp1);
        s2.addChangeListener(sp1);
 
        // set Bounds for spinner
        s.setBounds(70, 70, 50, 40);
        s1.setBounds(70, 130, 50, 40);
        s2.setBounds(70, 200, 90, 40);
 
        // setbounds for label
        l.setBounds(10, 10, 150, 20);
        l1.setBounds(10, 300, 150, 20);
 
        // set layout for frame
        f.setLayout(null);
 
        // add label
        f.add(l);
        f.add(l1);
        f.add(s);
        f.add(s1);
        f.add(s2);
 
        // add panel to frame
        f.add(s);
 
        // set frame size
        f.setSize(400, 400);
 
        f.show();
    }
 
    // if the state is changed
    public void stateChanged(ChangeEvent e)
    {
        l1.setText(s1.getValue() + " " + s2.getValue() + " " + s.getValue());
    }
}

Producción : 

Nota: este programa no se ejecutará en un compilador en línea; utilice un IDE sin conexión.
 

Publicación traducida automáticamente

Artículo escrito por andrew1234 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *