SlideShare una empresa de Scribd logo
Capacidad:
 Conocer los principales elementos que contiene el ID Netbeans.
Contenido:
 Menús Swing (Elemento de menú / casilla de activación, Elemento de menú/botón
de opción y menú emergente).
Indicadores:
 Conceptualiza Menús Swing.
 Identifica los principales elementos que contiene el ID Netbeans.
 Diseña un programa utilizando los códigos propios del lenguaje Java
Situación de Aprendizaje y Estrategia de Evaluación
Inicio
 Iniciamos nuestra actividad realizando el juego “Sopa de letras”, donde se
encuentran las palabras relacionadas con el contenido a desarrollar.
 NETBEANS
 ELEMENTO DE MENU
 MENU EMERGRENTE
 BOTON DE OPCION
 Considerando lo mencionado relacionamos con la clase del día.
 Enunciamos la capacidad, el contenido y los indicadores a ser evaluados.
 Establecemos las normas de convivencia de la clase:
 Evitar el uso del teléfono celular.
 Respetar al profesor y a los compañeros.
 Mantener limpia la sala de clase.
 Indagamos los conocimientos previos de los alumnos realizando las siguientes
preguntas
 ¿Qué es Menús Swing?
 ¿Para qué elementos que contiene el ID Netbeans?
 Desarrollo
 Seguimos las instrucciones de la profesora y realizamos las siguientes actividades:
 Conocemos el concepto de :
MENÚS
Un menú en una aplicación no es más que un MenuBar en el que hay varios menús.
Pensemos en un programa cualquiera con las voces de menú File Edit y Help. Estas tres
voces en Java son unos objetos de la clase Menú y se tienen que añadir a un objeto de la
clase MenuBar que se une a la ventana. Cada menú tiene varias voces. por ejemplo, el
menú File tendrá las voces: Abrir, Cerrar, Guarda y Salir. Éstos en Java son unos objetos de
la clase MenuItem (o también Menú si incluyen otros submenús).
 Encendemos la PC e ingresamos a Netbeans.
 Realizamos todos juntos el siguiente ejercicio:
ELEMENTO DE MENÚ / CASILLA DE ACTIVACIÓN
1. Realiza un nuevo proyecto.
2. En la ventana principal debes añadir lo siguiente:
1. Un botón “Aceptar” llamado btnAceptar.
2. Una etiqueta con borde llamada etiResultado.
3. Añade también tres cuadros de verificación. Estos cuadros son objetos del tipo
JCheckBox.
4. Añade tres JCheckBox y cambia el texto de ellos, de forma que aparezca “Perro”,
“Gato” y “Ratón”.
5. Debe cambiar el nombre de cada uno de ellos. Se llamarán: chkPerro, chkGato,
chkRaton.
6. La ventana tendrá el siguiente aspecto cuando termine:
7. El programa debe funcionar de la siguiente forma:
Cuando el usuario pulse aceptar, en la etiqueta aparecerá un mensaje indicando qué
animales han sido “seleccionados”. Para ello hay que programar el
eventoactionPerformed del botón Aceptar. En ese evento añada el siguiente código:
String mensaje="Animales elegidos: ";
if (chkPerro.isSelected()) {
mensaje=mensaje+"Perro ";
}
if (chkGato.isSelected()) {
mensaje=mensaje+"Gato ";
}
if (chkRaton.isSelected()) {
mensaje=mensaje+"Raton ";
}
etiResultado.setText(mensaje);
8. Observa el código. En él se hace lo siguiente:
1. Se crea una variable de cadena llamada mensaje.
2. En esa variable se introduce el texto “Animales elegidos: “
3. Luego, compruebo si está seleccionada la casilla de verificación chkPerro.
Si es así concateno a la cadena mensaje la palabra “Perro”.
4. Luego compruebo si está seleccionada la casilla de verificación chkGato y
hago lo mismo.
5. Lo mismo con la casilla chkRaton.
6. Finalmente presento la cadena mensaje en la etiqueta etiResultado.
9. Observa el método isSelected() propio de las casillas de verificación, permiten
saber si una casilla está activada o no.
10. Ejecute el programa. Seleccione por ejemplo las casillas Gato y Ratón. Al pulsar
Aceptar el resultado debe ser el siguiente:
CONCLUSIÓN
Los cuadros de verificación (JCheckBox) se usan cuando quieres seleccionar varias
opciones.
BOTONES DE OPCIÓN
1. Realiza un nuevo proyecto.
2. En la ventana principal debes añadir lo siguiente:
1. Un botón “Aceptar” llamado btnAceptar.
2. Una etiqueta con borde llamada etiResultado.
3. Añade un panel. Un panel es una zona rectangular que puede contener elementos
(botones, etiquetas, etc) La forma de poner un panel es a través del objeto JPanel.
4. Una vez añadido el panel en el JFrame, le pondremos un borde para poder
localizarlo fácilmente. Debes hacer lo siguiente:
1. Selecciona el panel que has añadido.
2. Activa la propiedad Border (botón con tres puntos)
3. Busca el tipo de borde llamado TitledBorder (borde con título) y pon el
título colores.
5. Tu ventana debe quedar más o menos así:
6. Ahora debes añadir tres botones de opción (botones de radio) dentro del panel.
Estos botones son objetos del tipo JRadioButton.
7. Añade tres JRadioButton y cambia el texto de ellos, de forma que aparezca “Rojo”,
“Verde” y “Azul”.
8. Debe cambiar el nombre de cada uno de ellos. Se llamarán: optRojo, optVerde,
optAzul.
9. La ventana tendrá el siguiente aspecto cuando termine:
10. Si ejecuta el programa, observará que pueden seleccionarse varios colores a la
vez. Esto no es interesante, ya que los botones de opción se usan para activar solo
una opción entre varias.
11. Hay que hacer que solo un botón de opción pueda estar seleccionado a la vez.
Para ello, debe añadir un nuevo objeto. Realice los siguientes pasos:
1. Añada un objeto del tipo ButtonGroup al formulario. ¡Atención! Este objeto es
invisible, y no se verá en el formulario, sin embargo, lo podréis ver en el Inspector, en la
parte de “Otros Componentes”:
2. Tienes que darle un nombre al ButtonGroup. El nombre será “grupoColores”.
3. Ahora, hay que conseguir que los tres botones pertenezcan al mismo
grupo. Es decir, que pertenezcan al grupo grupoColores.
4. Selecciona el botón de opción optRojo y cambia su propiedad
buttonGroup, indicando que pertenece al grupo colores (observa la imagen):
5. Haz lo mismo con los botones optVerde y optAzul.
12. Acabas de asociar los tres botones de opción a un mismo grupo. Esto produce
que solo una de las tres opciones pueda estar activada. Pruébelo ejecutando el
programa.
13. Ahora interesa que la opción “Rojo” salga activada desde el principio. Una forma
de hacer esto es programando en el “Constructor” lo siguiente:
optRojo.setSelected(true);
El método setSelected hace que se pueda activar o desactivar un botón de opción.
Prueba el programa. Observa como la opción Rojo está activada inicialmente.
14. El programa no está terminado aún. Interesa que cuando el usuario pulse el
botón Aceptar, en la etiqueta aparezca el color elegido. Para ello, en
el actionPerformed del botón Aceptar programe lo siguiente:
String mensaje="Color elegido: ";
if (optRojo.isSelected()) {
mensaje=mensaje+"Rojo";
} else if (optVerde.isSelected()) {
mensaje=mensaje+"Verde";
} else if (optAzul.isSelected()) {
mensaje=mensaje+"Azul";
}
etiResultado.setText(mensaje);
15. Observa el código. En él se hace lo siguiente:
1. Se crea una variable de cadena llamada mensaje.
2. En esa variable se introduce el texto “Color elegido: “
3. Luego se comprueba que opción está seleccionada, usando el método
isSelected de los botones de opción. Este método te dice si un botón está
seleccionado o no.
4. Según la opción que esté seleccionada, se añade un texto u otro a la
cadena mensaje.
5. Finalmente se muestra la cadena mensaje en la etiqueta etiResultado.
16. Ejecute el programa. Seleccione por ejemplo la Verde. Al pulsar Aceptar el
resultado debe ser el siguiente:
CONCLUSIÓN
Los botones de opción, también llamados botones de radio (JRadioButton) se usan
cuando quieres que el usuario pueda elegir una opción de entre varias.
Es interesante que los botones de radio aparezcan dentro de un panel JPanel. Se
recomienda colocar un borde al panel.
Es totalmente necesario añadir un objeto del tipo ButtonGroup, y hacer que los
botones de radio pertenezcan a dicho grupo. En caso contrario, será posible activar
varios botones de opción a la vez.
MENUS EMERGENTES
El evento mouseClicked
El evento mouseClicked es capaz de capturar un clic del ratón sobre un determinado
elemento de la ventana.
Este evento recibe como parámetro un objeto del tipo MouseEvent, y gracias a él se puede
conseguir información como la siguiente:
– Qué botón del ratón fue pulsado.
– Cuantas veces (clic, doble clic, etc)
– En qué coordenadas fue pulsado el botón.
– Etc.
Se puede usar esta información para saber por ejemplo si se pulsó el botón derecho del
ratón, y sacar en este caso un menú contextual en pantalla.
En este ejercicio guiado se estudiarán las posibilidades del evento mouseClicked y se
aplicarán a la creación y visualización de menús contextuales (o emergentes)
Ejercicio guiado
1. Crea un nuevo proyecto.
2. No hace falta que añada nada a la ventana.
3. Programaremos la pulsación del ratón sobre el formulario, así que haga clic
sobre el formulario y active el evento mouseClicked.
4. Observe el código del evento:
private void formMouseClicked(java.awt.event.MouseEvent evt) {
// TODO add your handling code here:
}
Este evento recibe como parámetro un objeto llamado evt del tipo MouseEvent (en
rojo en el código) que nos permite saber en qué condiciones se hizo clic.
5. Dentro del evento programe lo siguiente:
if (evt.getButton()==1) {
JOptionPane.showMessageDialog(null,”Pulso el izquierdo”);
} else if (evt.getButton()==2) {
JOptionPane.showMessageDialog(null,”Pulso el central”);
} else if (evt.getButton()==3) {
JOptionPane.showMessageDialog(null,”Pulso el derecho”);
}
6. Ejecuta el programa y haz clic sobre el formulario con el botón derecho, con
el izquierdo y con el central. Observa el resultado.
7. Ahora quizás puedas comprender el código anterior. En él, se usa el
método getButton del objeto evtpara saber qué botón se pulsó. El
método getButton devuelve un entero que puede ser 1, 2 o 3 según el botón
pulsado.
8. Se puede aprovechar el método getButton para controlar la pulsación del
botón derecho del ratón y así sacar un menú contextual. Pero antes, es necesario
crear el menú.
9. Agrega a tu formulario un objeto del tipo JPopupMenu. Estos objetos
definen menús emergentes.
10. Los objetos JPopupMenu no se muestran en el formulario, pero puedes
verlo en el Inspector dentro de la rama de Otros Componentes:
11. Aprovecharemos el inspector para cambiar el nombre al menú.
Llámalo menuEmergente.
12. Los menús emergentes se crean igual que las opciones de menús normales,
añadiendo con el botón derecho del ratón objetos JMenuItem.
13. Añada al menú emergente tres JMenuItem, y asígneles los siguientes
nombres a cada uno: menuRojo, menuVerde, menuAzul. El inspector debería tener el
siguiente aspecto:
14. Tienes que cambiar la propiedad text de cada opción del menú. Recuerda
que esta propiedad define lo que aparece en el menú. Asignarás los siguientes
textos: “Rojo”, “Verde” y “Azul”.
15. El menú emergente ya está construido. Ahora tenemos que hacer que
aparezca cuando el usuario pulse el botón derecho del ratón sobre el formulario.
Para ello, entraremos de nuevo en el eventomouseClicked del formulario y
cambiaremos su código por el siguiente:
menuEmergente.show(this,evt.getX(),evt.getY());
16. Este código significa lo siguiente:
– El método show le da la orden al menuEmergente para que se muestre.
– El método show recibe tres elementos: por un lado la ventana donde actúa
(this)
– Por otro lado la posición x donde debe mostrarse el menú. Esta posición es
aquella donde se pulsó el ratón, y se puede conseguir gracias al método getX del
objeto evt.
– Por último se necesita la posición y. Esta posición se puede conseguir gracias al
método getY del objeto evt.
Es decir, decidimos mostrar el menú emergente justo en las coordenadas donde se
hizo clic.
17. Ejecuta el programa y observa el resultado.
Al hacer clic con el derecho se mostrará el menú contextual.
18. Para hacer que al pulsarse una opción suceda algo, solo hay que activar el
método actionPerformeddel JMenuItem correspondiente. Por ejemplo, active
el actionPerformed del menuRojo y dentro programe lo siguiente:
this.getContentPane().setBackground(Color.RED);
19. Ejecuta el programa y comprueba lo que sucede al pulsar la opción Rojo del
menú contextual.
CONCLUSIÓN
Los menús contextuales son objetos del tipo JPopupMenu. Estos objetos contienen
JMenuItem al igual que las opciones de menú normales.
Cuando se asigna un JPopupMenu a un formulario, no aparece sobre la ventana,
pero sí en el inspector.
Para hacer que aparezca el menú emergente, es necesario programar el
evento mouseClicked del objeto sobre el que quiera que aparezca el meú.
Tendrá que usar el método show del menú emergente para mostrar dicho menú.
 Fijación
 Responde al siguiente cuestionario utilizando Daypo, haciendo clic en el siguiente
enlace:
http://www.daypo.com/test-menus-swing.html
 Cierre
Responde las siguiente Preguntas
1) ¿Qué es Menús Swing?
2) ¿Para qué se las casillas de activación?
Método:
 Mixto
Técnicas:
 Expositiva
 Demostrativa
Recursos auxiliares
 Notebook
 Materiales impresos
Anexo
Voki
http://www.voki.com/site/create
Daypo
http://www.daypo.com/test-menus-swing.html
Slideschare
http://es.slideshare.net/Alice5253/menus-swing
SOPA DE LETRAS

Más contenido relacionado

PPTX
Auto play
DOC
Guia powerpoint 2010
PDF
Java construye las interfaces gráficas del usuario mediante awt
PDF
12swing gui
PPT
PresentacióN
PPTX
Interfaz gráfica de usuario
PPT
PráCticas
DOCX
Manual de aplicaciones en android
Auto play
Guia powerpoint 2010
Java construye las interfaces gráficas del usuario mediante awt
12swing gui
PresentacióN
Interfaz gráfica de usuario
PráCticas
Manual de aplicaciones en android

La actualidad más candente (15)

PPTX
PDF
Creacion de boton de imagen cambiante
PDF
Practicas de-windows7
PPT
Opciones de los ordenadores XP
PPT
practicas de windows
PPT
Practicas Informáticas
PPT
PráCticas De Windows
PPT
Practicas De Windows
PDF
02. Iniciacion A La Informatica. Manejar Las Ventanas De Windows
PPTX
DISEÑO DE MENUS Y SUBMENUS
PPTX
Programación java - Diseño de Menús y submenús.
PPTX
Menus y-submenus
PPTX
Menejo de eventos en java introduccion
PPT
Practicas De InformáTica
PPTX
Tópicos avanzados de programación eventos
Creacion de boton de imagen cambiante
Practicas de-windows7
Opciones de los ordenadores XP
practicas de windows
Practicas Informáticas
PráCticas De Windows
Practicas De Windows
02. Iniciacion A La Informatica. Manejar Las Ventanas De Windows
DISEÑO DE MENUS Y SUBMENUS
Programación java - Diseño de Menús y submenús.
Menus y-submenus
Menejo de eventos en java introduccion
Practicas De InformáTica
Tópicos avanzados de programación eventos
Publicidad

Destacado (20)

PPTX
Teoría del liderazgo tania samacashe (ute)2016
PPTX
Programador de tareas
DOC
DNARDELLA RESUME2016
PDF
Comunicación interna cex_planformacion2016
PPTX
Công ty tổ chức lễ khởi công khánh thành chuyên nghiệp nhất ở tại đồng nai
PPT
ໂປຮແກຮມ MySQL
DOCX
Brihan Ford Resume draft 2016
PPTX
Mega blogger
PPTX
Writing paragraphs
PPT
El cambio climático y su efecto en daimiel
PPTX
Công ty tổ chức lễ khởi công khánh thành chuyên nghiệp nhất ở tại bình dương
DOC
LD resume 6-8-16
PPTX
Thuê Model xe hơi, mẫu xe oto, người mẫu moto show, cung cấp người mẫu tại hcm
PPTX
Công ty tổ chức lễ khởi công khánh thành chuyên nghiệp nhất ở tại đồng tháp
PPTX
Weet u van een (mogelijk) conflict?
PPTX
Công ty tổ chức khai trương chuyên nghiệp nhất tại tp.hcm
DOCX
ใบงานที่ 6 โครงร่างโครงงาน
PPTX
PPTX
EDUCACION INCLUSIVA Y SU APLICABILIDAD
PPTX
Принятие чувств как ресурс жизнестойкости (арт-терапевтическая техника)
Teoría del liderazgo tania samacashe (ute)2016
Programador de tareas
DNARDELLA RESUME2016
Comunicación interna cex_planformacion2016
Công ty tổ chức lễ khởi công khánh thành chuyên nghiệp nhất ở tại đồng nai
ໂປຮແກຮມ MySQL
Brihan Ford Resume draft 2016
Mega blogger
Writing paragraphs
El cambio climático y su efecto en daimiel
Công ty tổ chức lễ khởi công khánh thành chuyên nghiệp nhất ở tại bình dương
LD resume 6-8-16
Thuê Model xe hơi, mẫu xe oto, người mẫu moto show, cung cấp người mẫu tại hcm
Công ty tổ chức lễ khởi công khánh thành chuyên nghiệp nhất ở tại đồng tháp
Weet u van een (mogelijk) conflict?
Công ty tổ chức khai trương chuyên nghiệp nhất tại tp.hcm
ใบงานที่ 6 โครงร่างโครงงาน
EDUCACION INCLUSIVA Y SU APLICABILIDAD
Принятие чувств как ресурс жизнестойкости (арт-терапевтическая техника)
Publicidad

Similar a Plan menus swing (20)

PDF
02 guiados java_botones_de_opcion - MO
PPTX
Java swing listas
PDF
Manejo de ventanas 2
PDF
Tips componentes swing_v5
PPT
PPTX
Controles graficos
PPTX
Gui interfaz gráfica de usuario javax.swing y java.awt
PPT
Temaswing
PPSX
Librería swing java
PDF
Manuales seminario java-manualdejava-sem 3 - 4
PDF
PDF
Joption pane en java
PDF
Swing
 
PDF
Herencia para jframe y diseño de jmenu,j internalframe, jdialog
 
PDF
Asignación 09 gui - cuadros de diálogo
DOCX
Botones swing 14 11-2012
PDF
Semana 5 Java Swing
DOCX
Clase swing
DOC
Menu con opciones de captura
02 guiados java_botones_de_opcion - MO
Java swing listas
Manejo de ventanas 2
Tips componentes swing_v5
Controles graficos
Gui interfaz gráfica de usuario javax.swing y java.awt
Temaswing
Librería swing java
Manuales seminario java-manualdejava-sem 3 - 4
Joption pane en java
Swing
 
Herencia para jframe y diseño de jmenu,j internalframe, jdialog
 
Asignación 09 gui - cuadros de diálogo
Botones swing 14 11-2012
Semana 5 Java Swing
Clase swing
Menu con opciones de captura

Último (20)

DOCX
PROYECTO DE APRENDIZAJE para la semana de fiestas patrias
PDF
Teologia-Sistematica-Por-Lewis-Sperry-Chafer_060044.pdf
PDF
ACERTIJO Súper Círculo y la clave contra el Malvado Señor de las Formas. Por ...
DOCX
UNIDAD DE APRENDIZAJE 5 AGOSTO tradiciones
PDF
Tomo 1 de biologia gratis ultra plusenmas
PDF
Escuelas Desarmando una mirada subjetiva a la educación
PDF
5°-UNIDAD 5 - 2025.pdf aprendizaje 5tooo
PDF
TOMO II - LITERATURA.pd plusenmas ultras
PDF
Escuela de Negocios - Robert kiyosaki Ccesa007.pdf
PDF
Unidad de Aprendizaje 5 de Matematica 1ro Secundaria Ccesa007.pdf
PDF
COMPLETO__PROYECTO_VIVAN LOS NIÑOS Y SUS DERECHOS_EDUCADORASSOS.pdf
PDF
Conecta con la Motivacion - Brian Tracy Ccesa007.pdf
PDF
Punto Critico - Brian Tracy Ccesa007.pdf
DOCX
PLAN DE CASTELLANO 2021 actualizado a la normativa
PDF
Guia de Tesis y Proyectos de Investigacion FS4 Ccesa007.pdf
PDF
La Evaluacion Formativa en Nuevos Escenarios de Aprendizaje UGEL03 Ccesa007.pdf
PDF
Educación Artística y Desarrollo Humano - Howard Gardner Ccesa007.pdf
PDF
1. Intrdoduccion y criterios de seleccion de Farm 2024.pdf
PDF
Integrando la Inteligencia Artificial Generativa (IAG) en el Aula
PDF
el - LIBRO-PACTO-EDUCATIVO-GLOBAL-OIEC.pdf
PROYECTO DE APRENDIZAJE para la semana de fiestas patrias
Teologia-Sistematica-Por-Lewis-Sperry-Chafer_060044.pdf
ACERTIJO Súper Círculo y la clave contra el Malvado Señor de las Formas. Por ...
UNIDAD DE APRENDIZAJE 5 AGOSTO tradiciones
Tomo 1 de biologia gratis ultra plusenmas
Escuelas Desarmando una mirada subjetiva a la educación
5°-UNIDAD 5 - 2025.pdf aprendizaje 5tooo
TOMO II - LITERATURA.pd plusenmas ultras
Escuela de Negocios - Robert kiyosaki Ccesa007.pdf
Unidad de Aprendizaje 5 de Matematica 1ro Secundaria Ccesa007.pdf
COMPLETO__PROYECTO_VIVAN LOS NIÑOS Y SUS DERECHOS_EDUCADORASSOS.pdf
Conecta con la Motivacion - Brian Tracy Ccesa007.pdf
Punto Critico - Brian Tracy Ccesa007.pdf
PLAN DE CASTELLANO 2021 actualizado a la normativa
Guia de Tesis y Proyectos de Investigacion FS4 Ccesa007.pdf
La Evaluacion Formativa en Nuevos Escenarios de Aprendizaje UGEL03 Ccesa007.pdf
Educación Artística y Desarrollo Humano - Howard Gardner Ccesa007.pdf
1. Intrdoduccion y criterios de seleccion de Farm 2024.pdf
Integrando la Inteligencia Artificial Generativa (IAG) en el Aula
el - LIBRO-PACTO-EDUCATIVO-GLOBAL-OIEC.pdf

Plan menus swing

  • 1. Capacidad:  Conocer los principales elementos que contiene el ID Netbeans. Contenido:  Menús Swing (Elemento de menú / casilla de activación, Elemento de menú/botón de opción y menú emergente). Indicadores:  Conceptualiza Menús Swing.  Identifica los principales elementos que contiene el ID Netbeans.  Diseña un programa utilizando los códigos propios del lenguaje Java Situación de Aprendizaje y Estrategia de Evaluación Inicio  Iniciamos nuestra actividad realizando el juego “Sopa de letras”, donde se encuentran las palabras relacionadas con el contenido a desarrollar.  NETBEANS  ELEMENTO DE MENU  MENU EMERGRENTE  BOTON DE OPCION  Considerando lo mencionado relacionamos con la clase del día.  Enunciamos la capacidad, el contenido y los indicadores a ser evaluados.  Establecemos las normas de convivencia de la clase:  Evitar el uso del teléfono celular.  Respetar al profesor y a los compañeros.  Mantener limpia la sala de clase.  Indagamos los conocimientos previos de los alumnos realizando las siguientes preguntas  ¿Qué es Menús Swing?  ¿Para qué elementos que contiene el ID Netbeans?  Desarrollo  Seguimos las instrucciones de la profesora y realizamos las siguientes actividades:  Conocemos el concepto de : MENÚS Un menú en una aplicación no es más que un MenuBar en el que hay varios menús. Pensemos en un programa cualquiera con las voces de menú File Edit y Help. Estas tres voces en Java son unos objetos de la clase Menú y se tienen que añadir a un objeto de la clase MenuBar que se une a la ventana. Cada menú tiene varias voces. por ejemplo, el menú File tendrá las voces: Abrir, Cerrar, Guarda y Salir. Éstos en Java son unos objetos de la clase MenuItem (o también Menú si incluyen otros submenús).  Encendemos la PC e ingresamos a Netbeans.  Realizamos todos juntos el siguiente ejercicio: ELEMENTO DE MENÚ / CASILLA DE ACTIVACIÓN 1. Realiza un nuevo proyecto. 2. En la ventana principal debes añadir lo siguiente: 1. Un botón “Aceptar” llamado btnAceptar.
  • 2. 2. Una etiqueta con borde llamada etiResultado. 3. Añade también tres cuadros de verificación. Estos cuadros son objetos del tipo JCheckBox. 4. Añade tres JCheckBox y cambia el texto de ellos, de forma que aparezca “Perro”, “Gato” y “Ratón”. 5. Debe cambiar el nombre de cada uno de ellos. Se llamarán: chkPerro, chkGato, chkRaton. 6. La ventana tendrá el siguiente aspecto cuando termine: 7. El programa debe funcionar de la siguiente forma: Cuando el usuario pulse aceptar, en la etiqueta aparecerá un mensaje indicando qué animales han sido “seleccionados”. Para ello hay que programar el eventoactionPerformed del botón Aceptar. En ese evento añada el siguiente código: String mensaje="Animales elegidos: "; if (chkPerro.isSelected()) { mensaje=mensaje+"Perro "; } if (chkGato.isSelected()) { mensaje=mensaje+"Gato "; } if (chkRaton.isSelected()) {
  • 3. mensaje=mensaje+"Raton "; } etiResultado.setText(mensaje); 8. Observa el código. En él se hace lo siguiente: 1. Se crea una variable de cadena llamada mensaje. 2. En esa variable se introduce el texto “Animales elegidos: “ 3. Luego, compruebo si está seleccionada la casilla de verificación chkPerro. Si es así concateno a la cadena mensaje la palabra “Perro”. 4. Luego compruebo si está seleccionada la casilla de verificación chkGato y hago lo mismo. 5. Lo mismo con la casilla chkRaton. 6. Finalmente presento la cadena mensaje en la etiqueta etiResultado. 9. Observa el método isSelected() propio de las casillas de verificación, permiten saber si una casilla está activada o no. 10. Ejecute el programa. Seleccione por ejemplo las casillas Gato y Ratón. Al pulsar Aceptar el resultado debe ser el siguiente: CONCLUSIÓN Los cuadros de verificación (JCheckBox) se usan cuando quieres seleccionar varias opciones. BOTONES DE OPCIÓN 1. Realiza un nuevo proyecto. 2. En la ventana principal debes añadir lo siguiente: 1. Un botón “Aceptar” llamado btnAceptar.
  • 4. 2. Una etiqueta con borde llamada etiResultado. 3. Añade un panel. Un panel es una zona rectangular que puede contener elementos (botones, etiquetas, etc) La forma de poner un panel es a través del objeto JPanel. 4. Una vez añadido el panel en el JFrame, le pondremos un borde para poder localizarlo fácilmente. Debes hacer lo siguiente: 1. Selecciona el panel que has añadido. 2. Activa la propiedad Border (botón con tres puntos) 3. Busca el tipo de borde llamado TitledBorder (borde con título) y pon el título colores. 5. Tu ventana debe quedar más o menos así:
  • 5. 6. Ahora debes añadir tres botones de opción (botones de radio) dentro del panel. Estos botones son objetos del tipo JRadioButton. 7. Añade tres JRadioButton y cambia el texto de ellos, de forma que aparezca “Rojo”, “Verde” y “Azul”. 8. Debe cambiar el nombre de cada uno de ellos. Se llamarán: optRojo, optVerde, optAzul. 9. La ventana tendrá el siguiente aspecto cuando termine: 10. Si ejecuta el programa, observará que pueden seleccionarse varios colores a la vez. Esto no es interesante, ya que los botones de opción se usan para activar solo una opción entre varias. 11. Hay que hacer que solo un botón de opción pueda estar seleccionado a la vez. Para ello, debe añadir un nuevo objeto. Realice los siguientes pasos: 1. Añada un objeto del tipo ButtonGroup al formulario. ¡Atención! Este objeto es invisible, y no se verá en el formulario, sin embargo, lo podréis ver en el Inspector, en la parte de “Otros Componentes”:
  • 6. 2. Tienes que darle un nombre al ButtonGroup. El nombre será “grupoColores”. 3. Ahora, hay que conseguir que los tres botones pertenezcan al mismo grupo. Es decir, que pertenezcan al grupo grupoColores. 4. Selecciona el botón de opción optRojo y cambia su propiedad buttonGroup, indicando que pertenece al grupo colores (observa la imagen): 5. Haz lo mismo con los botones optVerde y optAzul. 12. Acabas de asociar los tres botones de opción a un mismo grupo. Esto produce que solo una de las tres opciones pueda estar activada. Pruébelo ejecutando el programa. 13. Ahora interesa que la opción “Rojo” salga activada desde el principio. Una forma de hacer esto es programando en el “Constructor” lo siguiente: optRojo.setSelected(true); El método setSelected hace que se pueda activar o desactivar un botón de opción. Prueba el programa. Observa como la opción Rojo está activada inicialmente. 14. El programa no está terminado aún. Interesa que cuando el usuario pulse el botón Aceptar, en la etiqueta aparezca el color elegido. Para ello, en el actionPerformed del botón Aceptar programe lo siguiente: String mensaje="Color elegido: "; if (optRojo.isSelected()) { mensaje=mensaje+"Rojo"; } else if (optVerde.isSelected()) { mensaje=mensaje+"Verde"; } else if (optAzul.isSelected()) { mensaje=mensaje+"Azul"; }
  • 7. etiResultado.setText(mensaje); 15. Observa el código. En él se hace lo siguiente: 1. Se crea una variable de cadena llamada mensaje. 2. En esa variable se introduce el texto “Color elegido: “ 3. Luego se comprueba que opción está seleccionada, usando el método isSelected de los botones de opción. Este método te dice si un botón está seleccionado o no. 4. Según la opción que esté seleccionada, se añade un texto u otro a la cadena mensaje. 5. Finalmente se muestra la cadena mensaje en la etiqueta etiResultado. 16. Ejecute el programa. Seleccione por ejemplo la Verde. Al pulsar Aceptar el resultado debe ser el siguiente: CONCLUSIÓN Los botones de opción, también llamados botones de radio (JRadioButton) se usan cuando quieres que el usuario pueda elegir una opción de entre varias. Es interesante que los botones de radio aparezcan dentro de un panel JPanel. Se recomienda colocar un borde al panel. Es totalmente necesario añadir un objeto del tipo ButtonGroup, y hacer que los botones de radio pertenezcan a dicho grupo. En caso contrario, será posible activar varios botones de opción a la vez. MENUS EMERGENTES El evento mouseClicked El evento mouseClicked es capaz de capturar un clic del ratón sobre un determinado elemento de la ventana. Este evento recibe como parámetro un objeto del tipo MouseEvent, y gracias a él se puede conseguir información como la siguiente: – Qué botón del ratón fue pulsado. – Cuantas veces (clic, doble clic, etc) – En qué coordenadas fue pulsado el botón. – Etc.
  • 8. Se puede usar esta información para saber por ejemplo si se pulsó el botón derecho del ratón, y sacar en este caso un menú contextual en pantalla. En este ejercicio guiado se estudiarán las posibilidades del evento mouseClicked y se aplicarán a la creación y visualización de menús contextuales (o emergentes) Ejercicio guiado 1. Crea un nuevo proyecto. 2. No hace falta que añada nada a la ventana. 3. Programaremos la pulsación del ratón sobre el formulario, así que haga clic sobre el formulario y active el evento mouseClicked. 4. Observe el código del evento: private void formMouseClicked(java.awt.event.MouseEvent evt) { // TODO add your handling code here: } Este evento recibe como parámetro un objeto llamado evt del tipo MouseEvent (en rojo en el código) que nos permite saber en qué condiciones se hizo clic. 5. Dentro del evento programe lo siguiente: if (evt.getButton()==1) { JOptionPane.showMessageDialog(null,”Pulso el izquierdo”); } else if (evt.getButton()==2) { JOptionPane.showMessageDialog(null,”Pulso el central”); } else if (evt.getButton()==3) { JOptionPane.showMessageDialog(null,”Pulso el derecho”); } 6. Ejecuta el programa y haz clic sobre el formulario con el botón derecho, con el izquierdo y con el central. Observa el resultado. 7. Ahora quizás puedas comprender el código anterior. En él, se usa el método getButton del objeto evtpara saber qué botón se pulsó. El método getButton devuelve un entero que puede ser 1, 2 o 3 según el botón pulsado. 8. Se puede aprovechar el método getButton para controlar la pulsación del botón derecho del ratón y así sacar un menú contextual. Pero antes, es necesario crear el menú. 9. Agrega a tu formulario un objeto del tipo JPopupMenu. Estos objetos definen menús emergentes. 10. Los objetos JPopupMenu no se muestran en el formulario, pero puedes verlo en el Inspector dentro de la rama de Otros Componentes:
  • 9. 11. Aprovecharemos el inspector para cambiar el nombre al menú. Llámalo menuEmergente. 12. Los menús emergentes se crean igual que las opciones de menús normales, añadiendo con el botón derecho del ratón objetos JMenuItem. 13. Añada al menú emergente tres JMenuItem, y asígneles los siguientes nombres a cada uno: menuRojo, menuVerde, menuAzul. El inspector debería tener el siguiente aspecto: 14. Tienes que cambiar la propiedad text de cada opción del menú. Recuerda que esta propiedad define lo que aparece en el menú. Asignarás los siguientes textos: “Rojo”, “Verde” y “Azul”. 15. El menú emergente ya está construido. Ahora tenemos que hacer que aparezca cuando el usuario pulse el botón derecho del ratón sobre el formulario. Para ello, entraremos de nuevo en el eventomouseClicked del formulario y cambiaremos su código por el siguiente: menuEmergente.show(this,evt.getX(),evt.getY()); 16. Este código significa lo siguiente: – El método show le da la orden al menuEmergente para que se muestre. – El método show recibe tres elementos: por un lado la ventana donde actúa (this) – Por otro lado la posición x donde debe mostrarse el menú. Esta posición es aquella donde se pulsó el ratón, y se puede conseguir gracias al método getX del objeto evt. – Por último se necesita la posición y. Esta posición se puede conseguir gracias al método getY del objeto evt. Es decir, decidimos mostrar el menú emergente justo en las coordenadas donde se hizo clic. 17. Ejecuta el programa y observa el resultado.
  • 10. Al hacer clic con el derecho se mostrará el menú contextual. 18. Para hacer que al pulsarse una opción suceda algo, solo hay que activar el método actionPerformeddel JMenuItem correspondiente. Por ejemplo, active el actionPerformed del menuRojo y dentro programe lo siguiente: this.getContentPane().setBackground(Color.RED); 19. Ejecuta el programa y comprueba lo que sucede al pulsar la opción Rojo del menú contextual. CONCLUSIÓN Los menús contextuales son objetos del tipo JPopupMenu. Estos objetos contienen JMenuItem al igual que las opciones de menú normales. Cuando se asigna un JPopupMenu a un formulario, no aparece sobre la ventana, pero sí en el inspector. Para hacer que aparezca el menú emergente, es necesario programar el evento mouseClicked del objeto sobre el que quiera que aparezca el meú. Tendrá que usar el método show del menú emergente para mostrar dicho menú.  Fijación  Responde al siguiente cuestionario utilizando Daypo, haciendo clic en el siguiente enlace: http://www.daypo.com/test-menus-swing.html  Cierre Responde las siguiente Preguntas 1) ¿Qué es Menús Swing? 2) ¿Para qué se las casillas de activación? Método:  Mixto
  • 11. Técnicas:  Expositiva  Demostrativa Recursos auxiliares  Notebook  Materiales impresos Anexo Voki http://www.voki.com/site/create Daypo http://www.daypo.com/test-menus-swing.html Slideschare http://es.slideshare.net/Alice5253/menus-swing SOPA DE LETRAS