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:
- JSpinner(): crea una rueda vacía con un valor inicial establecido en cero y sin restricciones.
- JSpinner (Modelo SpinnerModel): crea un spinner con un modelo de spinner especificado que se pasa como argumento.
Los métodos comúnmente utilizados son:
- 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.
- 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.
- setValue(Objeto v): establece el valor de la ruleta al objeto pasado como argumento.
- getValue(): devuelve el valor actual de la ruleta.
- getPreviousValue(): devuelve el valor anterior de la ruleta.
- 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