SlideShare una empresa de Scribd logo
1 de 4
EJERCICIO GUIADO. JAVA: SPINNER 
Introducción a los JSpinner 
La clase JSpinner permite crear cuadros como el siguiente: 
Son elementos muy comunes en los programas. A través de los dos botones triangulares se 
puede hacer que el valor del cuadro aumente o disminuya. También se puede escribir 
directamente un valor dentro del cuadro. 
Ejercicio guiado 
1. Crea un nuevo proyecto. 
2. Añade en él un JSpinner. Su nombre será spiValor. 
3. Añade una etiqueta con borde. Su nombre será etiValor. 
4. La ventana tendrá el siguiente aspecto: 
5. Interesa que cuando cambie el JSpinner (ya sea porque se pulsaron los botones 
triangulares o porque se escribió dentro) aparezca el valor correspondiente dentro de 
la etiqueta. Para ello, tendrá que programar el evento stateChanged del JSpinner. 
En el evento stateChanged introduzca el siguiente código: 
etiValor.setText("El valor es: "+spiValor.getValue().toString());
6. Como puedes observar, lo que hace el programa es recoger el valor que tiene el 
JSpinner a través del método getValue y luego se lo asigna a la etiqueta con el 
clásico setText. (Es muy parecido a los deslizadores) 
Debes tener en cuenta que el valor devuelto no es un número ni una cadena, así que 
en el ejemplo se ha usado el método toString() para convertirlo a una cadena. 
7. Prueba el programa y observa su funcionamiento: 
El usuario modifica el 
valor del JSpinner... 
Y aquí aparece el valor 
seleccionado. 
8. Observa como los valores del JSpinner aumentan o disminuyen en 1. Por otro lado, 
no parece haber un límite para los valores del JSpinner. 
La pregunta ahora es: ¿Se puede modificar el contenido del JSpinner de forma que 
tenga unos valores concretos? La respuesta es sí. Veamos como hacerlo. 
9. Entra dentro del código del programa y, dentro del constructor, añade este código 
debajo de initComponents: 
SpinnerNumberModel nm = new SpinnerNumberModel(); 
nm.setMaximum(10); 
nm.setMinimum(0); 
spiValor.setModel(nm); 
10. Este código hace lo siguiente: 
a. El JSpinner, al igual que los JList y los JComboBox, es un objeto que contiene 
otro objeto “modelo”, y es el objeto “modelo” el que contiene los números 
visualizados en el JSpinner. 
b. En el código anterior se crea un “modelo” para el JSpinner, se definen los 
valores que contendrá, y luego se asigna al JSpinner. Estudiemos las líneas 
del código. 
c. La primera línea crea un “modelo” llamado nm. Los modelos de los JSpinner 
son del tipo SpinnerNumberModel. Necesitarás incluir el import 
correspondiente (atento a la bombilla)
d. En la segunda línea se define como valor máximo del modelo el 10, a través 
de un método llamado setMaximum. 
e. En la tercera línea se define como valor mínimo del modelo el 0, a través de 
un método llamado setMinimum. 
f. Finalmente se asigna el modelo creado al JSpinner. 
g. Este código, en definitiva, hará que el JSpinner muestre los valores 
comprendidos entre 0 y 10. 
11. Prueba el programa y observa los valores que puede tomar el JSpinner. 
Ahora los valores están 
comprendidos entre 0 y 
10 
12. Vamos a añadir otra mejora. Cambie el código del constructor por este otro. (Observa 
que solo se ha añadido una línea): 
SpinnerNumberModel nm = new SpinnerNumberModel(); 
nm.setMaximum(10); 
nm.setMinimum(0); 
nm.setStepSize(2); 
spiValor.setModel(nm); 
13. La línea añadida es: 
nm.setStepSize(2); 
Esta línea usa un método del modelo del JSpinner que permite definir el valor de 
cambio del JSPinner. Dicho de otra forma, esta línea hace que los valores del 
JSpinner salten de 2 en 2. 
14. Ejecuta el programa de nuevo y observa como cambian los valores del JSpinner. 
15. El modelo del JSpinner tiene también un método llamado setValue que permite 
asignar un valor inicial al modelo. Pruebe a usar este método para hacer que el 
JSpinner muestre desde el principio el valor 4.
CONCLUSIÓN 
Los JSpinners son objetos que permiten seleccionar un número, ya sea escribiéndolo 
en el recuadro, o bien a través de dos botones triangulares que permiten aumentar o 
disminuir el valor actual. 
Los JSpinners son objetos con “modelo”. Es decir, este objeto contiene a su vez otro 
objeto “modelo” que es el que realmente contiene los datos. 
Datos  Modelo  JSpinner 
Para definir el contenido del JSpinner es necesario crear un modelo del tipo 
SpinnerNumberModel. Se le asigna al modelo los números deseados, y finalmente se 
une el modelo con el JSpinner. 
El objeto modelo del JSpinner permite definir el valor mínimo y el valor máximo, así 
como el intervalo de aumento de los valores.

Más contenido relacionado

La actualidad más candente (20)

UML: CASOS DE USO
UML: CASOS DE USOUML: CASOS DE USO
UML: CASOS DE USO
 
Aplicaciones distribuidas
Aplicaciones distribuidasAplicaciones distribuidas
Aplicaciones distribuidas
 
Cuestionario
CuestionarioCuestionario
Cuestionario
 
Rip v2
Rip v2Rip v2
Rip v2
 
Diagramas de caso de uso
Diagramas de caso de usoDiagramas de caso de uso
Diagramas de caso de uso
 
Diseño de interfaz de usuario
Diseño de interfaz de usuarioDiseño de interfaz de usuario
Diseño de interfaz de usuario
 
Apache CouchDB
Apache CouchDBApache CouchDB
Apache CouchDB
 
2.2 relación de cmm con psp y tsp
2.2 relación de cmm con psp  y tsp2.2 relación de cmm con psp  y tsp
2.2 relación de cmm con psp y tsp
 
Implementacion de bases de datos en mysql
Implementacion de bases de datos en mysqlImplementacion de bases de datos en mysql
Implementacion de bases de datos en mysql
 
Clases 30 05
Clases 30 05Clases 30 05
Clases 30 05
 
9.diseño de la arquitectura
9.diseño de la arquitectura9.diseño de la arquitectura
9.diseño de la arquitectura
 
Sistemas operativos moviles
Sistemas operativos movilesSistemas operativos moviles
Sistemas operativos moviles
 
Uml clase 04_uml_clases
Uml clase 04_uml_clasesUml clase 04_uml_clases
Uml clase 04_uml_clases
 
Modelo Orientado A Objetos
Modelo Orientado A ObjetosModelo Orientado A Objetos
Modelo Orientado A Objetos
 
Proceso de diseño
Proceso de diseñoProceso de diseño
Proceso de diseño
 
Modelo requisitos UML
Modelo requisitos UMLModelo requisitos UML
Modelo requisitos UML
 
Actividad 3: VLAN y ACL
Actividad 3: VLAN y ACLActividad 3: VLAN y ACL
Actividad 3: VLAN y ACL
 
ospf isis
ospf   isisospf   isis
ospf isis
 
Arquitectura de software orientada a patrones
Arquitectura de software orientada a patronesArquitectura de software orientada a patrones
Arquitectura de software orientada a patrones
 
Creando requerimientos eficaces
Creando requerimientos eficacesCreando requerimientos eficaces
Creando requerimientos eficaces
 

Similar a 09 guiados spinner Java

Similar a 09 guiados spinner Java (20)

Informe#15
Informe#15Informe#15
Informe#15
 
In 15
In 15In 15
In 15
 
Informe#13
Informe#13Informe#13
Informe#13
 
Informe#14
Informe#14Informe#14
Informe#14
 
In 2
In 2In 2
In 2
 
Informe#6
Informe#6Informe#6
Informe#6
 
Informe#12
Informe#12Informe#12
Informe#12
 
Informe#10
Informe#10Informe#10
Informe#10
 
Unid 3 tema 2
Unid 3  tema 2Unid 3  tema 2
Unid 3 tema 2
 
Practicasbasicasparaandroid 120112060404-phpapp02
Practicasbasicasparaandroid 120112060404-phpapp02Practicasbasicasparaandroid 120112060404-phpapp02
Practicasbasicasparaandroid 120112060404-phpapp02
 
Computación 2 sept 2012
Computación 2 sept 2012Computación 2 sept 2012
Computación 2 sept 2012
 
Informe karen jacome
Informe karen jacomeInforme karen jacome
Informe karen jacome
 
Programas e informes Programación
Programas e informes ProgramaciónProgramas e informes Programación
Programas e informes Programación
 
Und 2 tema 4
Und 2   tema 4Und 2   tema 4
Und 2 tema 4
 
Unid 2 tema 3
Unid 2  tema 3Unid 2  tema 3
Unid 2 tema 3
 
Informe#9
Informe#9Informe#9
Informe#9
 
Informe#2
Informe#2Informe#2
Informe#2
 
Segundo punto taller macros
Segundo punto taller macrosSegundo punto taller macros
Segundo punto taller macros
 
Manual en equipo
Manual en equipoManual en equipo
Manual en equipo
 
Manual en equipo
Manual en equipoManual en equipo
Manual en equipo
 

Más de Jomar Burgos Palacios

Aplicaciones de ecuaciones de bernoulli
Aplicaciones de ecuaciones de bernoulliAplicaciones de ecuaciones de bernoulli
Aplicaciones de ecuaciones de bernoulliJomar Burgos Palacios
 
4. java poo joptionpane - Lenguaje de Programación JAVA - POO 2018.
4. java poo   joptionpane - Lenguaje de Programación JAVA - POO 2018.4. java poo   joptionpane - Lenguaje de Programación JAVA - POO 2018.
4. java poo joptionpane - Lenguaje de Programación JAVA - POO 2018.Jomar Burgos Palacios
 
3. java poo operadores logicos - Lenguaje de Programación JAVA - POO 2018
3. java poo   operadores logicos - Lenguaje de Programación JAVA - POO 20183. java poo   operadores logicos - Lenguaje de Programación JAVA - POO 2018
3. java poo operadores logicos - Lenguaje de Programación JAVA - POO 2018Jomar Burgos Palacios
 
2. java poo - Lenguaje de Programación JAVA - POO 2018.
2. java poo - Lenguaje de Programación JAVA - POO 2018.2. java poo - Lenguaje de Programación JAVA - POO 2018.
2. java poo - Lenguaje de Programación JAVA - POO 2018.Jomar Burgos Palacios
 
1. java poo - Lenguaje de Programación JAVA - POO 2018.
1. java poo - Lenguaje de Programación JAVA - POO 2018.1. java poo - Lenguaje de Programación JAVA - POO 2018.
1. java poo - Lenguaje de Programación JAVA - POO 2018.Jomar Burgos Palacios
 
VALIDEZ DE UNA INFERENCIA: MÉTODO ABREVIADO
VALIDEZ DE UNA INFERENCIA: MÉTODO ABREVIADO VALIDEZ DE UNA INFERENCIA: MÉTODO ABREVIADO
VALIDEZ DE UNA INFERENCIA: MÉTODO ABREVIADO Jomar Burgos Palacios
 
Gran Libro - Baldor [Matematica Pura]
Gran Libro - Baldor [Matematica Pura]Gran Libro - Baldor [Matematica Pura]
Gran Libro - Baldor [Matematica Pura]Jomar Burgos Palacios
 
Gestión de operaciones obtener ruta critica
Gestión de operaciones obtener ruta criticaGestión de operaciones obtener ruta critica
Gestión de operaciones obtener ruta criticaJomar Burgos Palacios
 
Insertar editarborrar registros sql_server_tutorial 2015
Insertar editarborrar registros sql_server_tutorial 2015Insertar editarborrar registros sql_server_tutorial 2015
Insertar editarborrar registros sql_server_tutorial 2015Jomar Burgos Palacios
 

Más de Jomar Burgos Palacios (20)

Presentacion proyecto - Física
Presentacion proyecto - FísicaPresentacion proyecto - Física
Presentacion proyecto - Física
 
Avance de proyecto - Física
Avance de proyecto - FísicaAvance de proyecto - Física
Avance de proyecto - Física
 
Corriente eléctrica - Física
Corriente eléctrica - Física Corriente eléctrica - Física
Corriente eléctrica - Física
 
Aplicaciones de ecuaciones de bernoulli
Aplicaciones de ecuaciones de bernoulliAplicaciones de ecuaciones de bernoulli
Aplicaciones de ecuaciones de bernoulli
 
Enunciado java - Ejercicio Básico
Enunciado java - Ejercicio BásicoEnunciado java - Ejercicio Básico
Enunciado java - Ejercicio Básico
 
4. java poo joptionpane - Lenguaje de Programación JAVA - POO 2018.
4. java poo   joptionpane - Lenguaje de Programación JAVA - POO 2018.4. java poo   joptionpane - Lenguaje de Programación JAVA - POO 2018.
4. java poo joptionpane - Lenguaje de Programación JAVA - POO 2018.
 
3. java poo operadores logicos - Lenguaje de Programación JAVA - POO 2018
3. java poo   operadores logicos - Lenguaje de Programación JAVA - POO 20183. java poo   operadores logicos - Lenguaje de Programación JAVA - POO 2018
3. java poo operadores logicos - Lenguaje de Programación JAVA - POO 2018
 
2. java poo - Lenguaje de Programación JAVA - POO 2018.
2. java poo - Lenguaje de Programación JAVA - POO 2018.2. java poo - Lenguaje de Programación JAVA - POO 2018.
2. java poo - Lenguaje de Programación JAVA - POO 2018.
 
1. java poo - Lenguaje de Programación JAVA - POO 2018.
1. java poo - Lenguaje de Programación JAVA - POO 2018.1. java poo - Lenguaje de Programación JAVA - POO 2018.
1. java poo - Lenguaje de Programación JAVA - POO 2018.
 
Primer plano – basico en m visio
Primer plano – basico en m visioPrimer plano – basico en m visio
Primer plano – basico en m visio
 
Excel FORMATOS CONDICIONALES
Excel FORMATOS CONDICIONALESExcel FORMATOS CONDICIONALES
Excel FORMATOS CONDICIONALES
 
Formatos en excel
Formatos en excelFormatos en excel
Formatos en excel
 
TAUTOLOGÍA .
TAUTOLOGÍA .TAUTOLOGÍA .
TAUTOLOGÍA .
 
ALGEBRA . CIRCUITOS LOGICOS
ALGEBRA . CIRCUITOS LOGICOSALGEBRA . CIRCUITOS LOGICOS
ALGEBRA . CIRCUITOS LOGICOS
 
L Ó G I C A . MATEMÁTICA
L Ó G I C A . MATEMÁTICAL Ó G I C A . MATEMÁTICA
L Ó G I C A . MATEMÁTICA
 
VALIDEZ DE UNA INFERENCIA: MÉTODO ABREVIADO
VALIDEZ DE UNA INFERENCIA: MÉTODO ABREVIADO VALIDEZ DE UNA INFERENCIA: MÉTODO ABREVIADO
VALIDEZ DE UNA INFERENCIA: MÉTODO ABREVIADO
 
Solucionario algebra de baldor
Solucionario algebra de baldor Solucionario algebra de baldor
Solucionario algebra de baldor
 
Gran Libro - Baldor [Matematica Pura]
Gran Libro - Baldor [Matematica Pura]Gran Libro - Baldor [Matematica Pura]
Gran Libro - Baldor [Matematica Pura]
 
Gestión de operaciones obtener ruta critica
Gestión de operaciones obtener ruta criticaGestión de operaciones obtener ruta critica
Gestión de operaciones obtener ruta critica
 
Insertar editarborrar registros sql_server_tutorial 2015
Insertar editarborrar registros sql_server_tutorial 2015Insertar editarborrar registros sql_server_tutorial 2015
Insertar editarborrar registros sql_server_tutorial 2015
 

Último

VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALVOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALEDUCCUniversidadCatl
 
Día de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialDía de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialpatriciaines1993
 
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxOscarEduardoSanchezC
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFAROJosé Luis Palma
 
Análisis de la Implementación de los Servicios Locales de Educación Pública p...
Análisis de la Implementación de los Servicios Locales de Educación Pública p...Análisis de la Implementación de los Servicios Locales de Educación Pública p...
Análisis de la Implementación de los Servicios Locales de Educación Pública p...Baker Publishing Company
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PCCesarFernandez937857
 
Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024IES Vicent Andres Estelles
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxAna Fernandez
 
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxdanalikcruz2000
 
Movimientos Precursores de La Independencia en Venezuela
Movimientos Precursores de La Independencia en VenezuelaMovimientos Precursores de La Independencia en Venezuela
Movimientos Precursores de La Independencia en Venezuelacocuyelquemao
 
Factores ecosistemas: interacciones, energia y dinamica
Factores ecosistemas: interacciones, energia y dinamicaFactores ecosistemas: interacciones, energia y dinamica
Factores ecosistemas: interacciones, energia y dinamicaFlor Idalia Espinoza Ortega
 
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfTarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfManuel Molina
 
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...fcastellanos3
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxjosetrinidadchavez
 
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxPresentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxYeseniaRivera50
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.José Luis Palma
 
Procesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptxProcesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptxMapyMerma1
 

Último (20)

VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALVOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
 
Día de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialDía de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundial
 
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
 
Análisis de la Implementación de los Servicios Locales de Educación Pública p...
Análisis de la Implementación de los Servicios Locales de Educación Pública p...Análisis de la Implementación de los Servicios Locales de Educación Pública p...
Análisis de la Implementación de los Servicios Locales de Educación Pública p...
 
Identificación de componentes Hardware del PC
Identificación de componentes Hardware del PCIdentificación de componentes Hardware del PC
Identificación de componentes Hardware del PC
 
Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024
 
Unidad 4 | Teorías de las Comunicación | MCDI
Unidad 4 | Teorías de las Comunicación | MCDIUnidad 4 | Teorías de las Comunicación | MCDI
Unidad 4 | Teorías de las Comunicación | MCDI
 
Unidad 3 | Teorías de la Comunicación | MCDI
Unidad 3 | Teorías de la Comunicación | MCDIUnidad 3 | Teorías de la Comunicación | MCDI
Unidad 3 | Teorías de la Comunicación | MCDI
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docx
 
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
 
Movimientos Precursores de La Independencia en Venezuela
Movimientos Precursores de La Independencia en VenezuelaMovimientos Precursores de La Independencia en Venezuela
Movimientos Precursores de La Independencia en Venezuela
 
Factores ecosistemas: interacciones, energia y dinamica
Factores ecosistemas: interacciones, energia y dinamicaFactores ecosistemas: interacciones, energia y dinamica
Factores ecosistemas: interacciones, energia y dinamica
 
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdfTarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
Tarea 5_ Foro _Selección de herramientas digitales_Manuel.pdf
 
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
Estas son las escuelas y colegios que tendrán modalidad no presencial este lu...
 
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptxOLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
OLIMPIADA DEL CONOCIMIENTO INFANTIL 2024.pptx
 
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptxPresentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
Presentación de Estrategias de Enseñanza-Aprendizaje Virtual.pptx
 
Sesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdfSesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdf
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.
 
Procesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptxProcesos Didácticos en Educación Inicial .pptx
Procesos Didácticos en Educación Inicial .pptx
 

09 guiados spinner Java

  • 1. EJERCICIO GUIADO. JAVA: SPINNER Introducción a los JSpinner La clase JSpinner permite crear cuadros como el siguiente: Son elementos muy comunes en los programas. A través de los dos botones triangulares se puede hacer que el valor del cuadro aumente o disminuya. También se puede escribir directamente un valor dentro del cuadro. Ejercicio guiado 1. Crea un nuevo proyecto. 2. Añade en él un JSpinner. Su nombre será spiValor. 3. Añade una etiqueta con borde. Su nombre será etiValor. 4. La ventana tendrá el siguiente aspecto: 5. Interesa que cuando cambie el JSpinner (ya sea porque se pulsaron los botones triangulares o porque se escribió dentro) aparezca el valor correspondiente dentro de la etiqueta. Para ello, tendrá que programar el evento stateChanged del JSpinner. En el evento stateChanged introduzca el siguiente código: etiValor.setText("El valor es: "+spiValor.getValue().toString());
  • 2. 6. Como puedes observar, lo que hace el programa es recoger el valor que tiene el JSpinner a través del método getValue y luego se lo asigna a la etiqueta con el clásico setText. (Es muy parecido a los deslizadores) Debes tener en cuenta que el valor devuelto no es un número ni una cadena, así que en el ejemplo se ha usado el método toString() para convertirlo a una cadena. 7. Prueba el programa y observa su funcionamiento: El usuario modifica el valor del JSpinner... Y aquí aparece el valor seleccionado. 8. Observa como los valores del JSpinner aumentan o disminuyen en 1. Por otro lado, no parece haber un límite para los valores del JSpinner. La pregunta ahora es: ¿Se puede modificar el contenido del JSpinner de forma que tenga unos valores concretos? La respuesta es sí. Veamos como hacerlo. 9. Entra dentro del código del programa y, dentro del constructor, añade este código debajo de initComponents: SpinnerNumberModel nm = new SpinnerNumberModel(); nm.setMaximum(10); nm.setMinimum(0); spiValor.setModel(nm); 10. Este código hace lo siguiente: a. El JSpinner, al igual que los JList y los JComboBox, es un objeto que contiene otro objeto “modelo”, y es el objeto “modelo” el que contiene los números visualizados en el JSpinner. b. En el código anterior se crea un “modelo” para el JSpinner, se definen los valores que contendrá, y luego se asigna al JSpinner. Estudiemos las líneas del código. c. La primera línea crea un “modelo” llamado nm. Los modelos de los JSpinner son del tipo SpinnerNumberModel. Necesitarás incluir el import correspondiente (atento a la bombilla)
  • 3. d. En la segunda línea se define como valor máximo del modelo el 10, a través de un método llamado setMaximum. e. En la tercera línea se define como valor mínimo del modelo el 0, a través de un método llamado setMinimum. f. Finalmente se asigna el modelo creado al JSpinner. g. Este código, en definitiva, hará que el JSpinner muestre los valores comprendidos entre 0 y 10. 11. Prueba el programa y observa los valores que puede tomar el JSpinner. Ahora los valores están comprendidos entre 0 y 10 12. Vamos a añadir otra mejora. Cambie el código del constructor por este otro. (Observa que solo se ha añadido una línea): SpinnerNumberModel nm = new SpinnerNumberModel(); nm.setMaximum(10); nm.setMinimum(0); nm.setStepSize(2); spiValor.setModel(nm); 13. La línea añadida es: nm.setStepSize(2); Esta línea usa un método del modelo del JSpinner que permite definir el valor de cambio del JSPinner. Dicho de otra forma, esta línea hace que los valores del JSpinner salten de 2 en 2. 14. Ejecuta el programa de nuevo y observa como cambian los valores del JSpinner. 15. El modelo del JSpinner tiene también un método llamado setValue que permite asignar un valor inicial al modelo. Pruebe a usar este método para hacer que el JSpinner muestre desde el principio el valor 4.
  • 4. CONCLUSIÓN Los JSpinners son objetos que permiten seleccionar un número, ya sea escribiéndolo en el recuadro, o bien a través de dos botones triangulares que permiten aumentar o disminuir el valor actual. Los JSpinners son objetos con “modelo”. Es decir, este objeto contiene a su vez otro objeto “modelo” que es el que realmente contiene los datos. Datos  Modelo  JSpinner Para definir el contenido del JSpinner es necesario crear un modelo del tipo SpinnerNumberModel. Se le asigna al modelo los números deseados, y finalmente se une el modelo con el JSpinner. El objeto modelo del JSpinner permite definir el valor mínimo y el valor máximo, así como el intervalo de aumento de los valores.