SlideShare una empresa de Scribd logo
1 de 7
MENU CON OPCIONES DE CAPTURA
Ahora veremos como crear un menú de opciones y la captura de eventos de los
mismos.
Cuando necesitamos implementar un menú horizontal en la parte superior de un
JFrame requerimos de un objeto de la clase JMenuBar, uno o más objetos de la
clase JMenu y por último objetos de la clase JMenuItem.
Par la captura de eventos debemos implementar la interface ActionListener y
asociarlo a los controles de tipo JMenuItem, el mismo se dispara al presionar con
el mouse el JMenuItem.
Problema 1:
Confeccionaremos un menú de opciones que contenga tres opciones que permita
cambiar el color de fondo del JFrame a los colores: rojo, verde y azul.
Programa:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Formulario extends JFrame implements
ActionListener{
private JMenuBar mb;
private JMenu menu1;
private JMenuItem mi1,mi2,mi3;
public Formulario() {
setLayout(null);
mb=new JMenuBar();
setJMenuBar(mb);
menu1=new JMenu("Opciones");
mb.add(menu1);
mi1=new JMenuItem("Rojo");
mi1.addActionListener(this);
menu1.add(mi1);
mi2=new JMenuItem("Verde");
mi2.addActionListener(this);
menu1.add(mi2);
mi3=new JMenuItem("Azul");
mi3.addActionListener(this);
menu1.add(mi3);
}
public void actionPerformed(ActionEvent e) {
Container f=this.getContentPane();
if (e.getSource()==mi1) {
f.setBackground(new Color(255,0,0));
}
if (e.getSource()==mi2) {
f.setBackground(new Color(0,255,0));
}
if (e.getSource()==mi3) {
f.setBackground(new Color(0,0,255));
}
}
public static void main(String[] ar) {
Formulario formulario1=new Formulario();
formulario1.setBounds(10,20,300,200);
formulario1.setVisible(true);
}
}
Importamos el paquete javax.swing ya que en el mismo se encuentran las tres
clases JMenuBar, JMenu y JMenuItem:
import javax.swing.*;
Importamos java.awt donde se encuentra la clase Color:
import java.awt.*;
Para la captura de eventos mediante la interface ActionListener debemos importar
el paquete java.awt.event:
import java.awt.event.*;
Declaramos la clase Formulario, heredamos de la clase JFrame e indicamos que
implementaremos la interface ActionListener:
public class Formulario extends JFrame implements
ActionListener{
Definimos un objeto de la clase JMenuBar (no importa que tan grande sea un
menú de opciones solo se necesitará un solo objeto de esta clase):
private JMenuBar mb;
Definimos un objeto de la clase JMenu (esta clase tiene por objeto desplegar un
conjunto de objetos de tipo JMenuItem u otros objetos de tipo JMenu:
private JMenu menu1;
Definimos tres objetos de la clase JMenuItem (estos son los que disparan eventos
cuando el operador los selecciona:
private JMenuItem mi1,mi2,mi3;
En el constructor creamos primero el objeto de la clase JMenuBar y lo asociamos
al JFrame llamando al método setJMenuBar:
mb=new JMenuBar();
setJMenuBar(mb);
Seguidamente creamos un objeto de la clase JMenu, en el constructor pasamos el
String que debe mostrar y asociamos dicho JMenu con el JMenuBar llamando al
método add de objeto de tipo JMenuBar (Es decir el objeto de la clase JMenu
colabora con la clase JMenuBar):
menu1=new JMenu("Opciones");
mb.add(menu1);
Ahora comenzamos a crear los objetos de la clase JMenuItem y los añadimos al
objeto de la clase JMenu (también mediante la llamada al método
addActionListener indicamos al JMenuItem que objeto procesará el clic):
mi1=new JMenuItem("Rojo");
mi1.addActionListener(this);
menu1.add(mi1);
Lo mismo hacemos para los otros dos JMenuItem:
mi2=new JMenuItem("Verde");
mi2.addActionListener(this);
menu1.add(mi2);
mi3=new JMenuItem("Azul");
mi3.addActionListener(this);
menu1.add(mi3);
En el método actionPerformed primero obtenemos la referencia al panel asociado
con el JFrame:
public void actionPerformed(ActionEvent e) {
Container f=this.getContentPane();
Luego mediante if verificamos cual de los tres JMenuItem fue seleccionado y a
partir de esto llamamos al método setBackground del objeto de la clase
Container):
if (e.getSource()==mi1) {
f.setBackground(new Color(255,0,0));
}
if (e.getSource()==mi2) {
f.setBackground(new Color(0,255,0));
}
if (e.getSource()==mi3) {
f.setBackground(new Color(0,0,255));
}
}
Problema 2:
Confeccionaremos un menú de opciones que contenga además del JMenu de la
barra otros dos objetos de la clase JMenu que dependan del primero.
Uno debe mostrar dos JMenuItem que permitan modificar el tamaño del JFrame y
el segundo también debe mostrar dos JMenuItem que permitan cambiar el color
de fondo.
Programa:
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Formulario extends JFrame implements
ActionListener{
private JMenuBar mb;
private JMenu menu1,menu2,menu3;
private JMenuItem mi1,mi2,mi3,mi4;
public Formulario() {
setLayout(null);
mb=new JMenuBar();
setJMenuBar(mb);
menu1=new JMenu("Opciones");
mb.add(menu1);
menu2=new JMenu("Tamaño de la ventana");
menu1.add(menu2);
menu3=new JMenu("Color de fondo");
menu1.add(menu3);
mi1=new JMenuItem("640*480");
menu2.add(mi1);
mi1.addActionListener(this);
mi2=new JMenuItem("1024*768");
menu2.add(mi2);
mi2.addActionListener(this);
mi3=new JMenuItem("Rojo");
menu3.add(mi3);
mi3.addActionListener(this);
mi4=new JMenuItem("Verde");
menu3.add(mi4);
mi4.addActionListener(this);
}
public void actionPerformed(ActionEvent e) {
if (e.getSource()==mi1) {
setSize(640,480);
}
if (e.getSource()==mi2) {
setSize(1024,768);
}
if (e.getSource()==mi3) {
getContentPane().setBackground(new
Color(255,0,0));
}
if (e.getSource()==mi4) {
getContentPane().setBackground(new
Color(0,255,0));
}
}
public static void main(String[] ar) {
Formulario formulario1=new Formulario();
formulario1.setBounds(0,0,300,200);
formulario1.setVisible(true);
}
}
Definimos un objeto de la clase JMenuBar, 3 objetos de la clase JMenu y
finalmente 4 objetos de la clase JMenuItem:
private JMenuBar mb;
private JMenu menu1,menu2,menu3;
private JMenuItem mi1,mi2,mi3,mi4;
Es importante notar el orden de creación de los objetos y como los relacionamos
unos con otros.
Primero creamos el JMenuBar y lo asociamos con el JFrame:
mb=new JMenuBar();
setJMenuBar(mb);
Creamos el primer JMenu y lo pasamos como parámetro al JMenuBar mediante el
método add:
menu1=new JMenu("Opciones");
mb.add(menu1);
Ahora creamos el segundo objeto de la clase JMenu y lo asociamos con el primer
JMenu creado:
menu2=new JMenu("Tamaño de la ventana");
menu1.add(menu2);
En forma similar creamos el tercer objeto de la clase JMenu y lo asociamos con el
primer JMenu creado:
menu3=new JMenu("Color de fondo");
menu1.add(menu3);
Finalmente comenzamos a crear los objetos de la clase JMenuItem y los dos
primeros los asociamos con el segundo JMenu:
mi1=new JMenuItem("640*480");
menu2.add(mi1);
mi1.addActionListener(this);
mi2=new JMenuItem("1024*768");
menu2.add(mi2);
mi2.addActionListener(this);
También hacemos lo mismo con los otros dos objetos de tipo JMenuItem pero
ahora los asociamos con el tercer JMenu:
mi3=new JMenuItem("Rojo");
menu3.add(mi3);
mi3.addActionListener(this);
mi4=new JMenuItem("Verde");
menu3.add(mi4);
mi4.addActionListener(this);
En el método actionPerformed si se presiona el mi1 procedemos a redimensionar
el JFrame llamando al método setSize y le pasamos dos parámetros que
representan el nuevo ancho y alto de la ventana:
if (e.getSource()==mi1) {
setSize(640,480);
}
De forma similar si se presiona el segundo JMenuItem cambiamos el tamaño de la
ventana a 1024 píxeles por 768:
if (e.getSource()==mi2) {
setSize(1024,768);
}
Para cambiar de color de forma similar al problema anterior mediante el método
getContentPane obtenemos la referencia al objeto de la clase Container y
llamamos al método setBackground para fijar un nuevo color de fondo:
if (e.getSource()==mi3) {
getContentPane().setBackground(new Color(255,0,0));
}
if (e.getSource()==mi4) {
getContentPane().setBackground(new Color(0,255,0));
}

Más contenido relacionado

La actualidad más candente

Practica 02-taller-de-programacion-121226180145-phpapp02
Practica 02-taller-de-programacion-121226180145-phpapp02Practica 02-taller-de-programacion-121226180145-phpapp02
Practica 02-taller-de-programacion-121226180145-phpapp02Flor Santana Mota
 
Fundamentos de Programación Visual Basic 2010
Fundamentos de Programación Visual Basic 2010Fundamentos de Programación Visual Basic 2010
Fundamentos de Programación Visual Basic 2010Luis Ruiz Ch
 
Manuales seminario java-manualdejava-sem 3 - 4
Manuales seminario java-manualdejava-sem 3 - 4Manuales seminario java-manualdejava-sem 3 - 4
Manuales seminario java-manualdejava-sem 3 - 4Robert Wolf
 
Ejercicios propuestos 4
Ejercicios propuestos 4Ejercicios propuestos 4
Ejercicios propuestos 4cristian7767
 
Problemas propuesto 1 al12
Problemas propuesto 1 al12Problemas propuesto 1 al12
Problemas propuesto 1 al12YO Por Que
 
Practica Cuatro Delphi
Practica Cuatro  DelphiPractica Cuatro  Delphi
Practica Cuatro DelphiJose Ponce
 
Ejercicios en Netbeans
Ejercicios en NetbeansEjercicios en Netbeans
Ejercicios en Netbeansedgar muñoz
 
Universidad tecnológica del estado de zacatecas
Universidad tecnológica del estado de zacatecasUniversidad tecnológica del estado de zacatecas
Universidad tecnológica del estado de zacatecasLuis Angel Davila Elias
 
Biblioteca java.util por gio
Biblioteca java.util por gioBiblioteca java.util por gio
Biblioteca java.util por gioRobert Wolf
 
Ejercicios en netbeans con condiciones
Ejercicios en netbeans con condicionesEjercicios en netbeans con condiciones
Ejercicios en netbeans con condicionesJoshe Varillas
 
Java AWT Tres en Raya
Java AWT Tres en RayaJava AWT Tres en Raya
Java AWT Tres en Rayajubacalo
 

La actualidad más candente (20)

Practica 02-taller-de-programacion-121226180145-phpapp02
Practica 02-taller-de-programacion-121226180145-phpapp02Practica 02-taller-de-programacion-121226180145-phpapp02
Practica 02-taller-de-programacion-121226180145-phpapp02
 
Fundamentos de Programación Visual Basic 2010
Fundamentos de Programación Visual Basic 2010Fundamentos de Programación Visual Basic 2010
Fundamentos de Programación Visual Basic 2010
 
Guia n2 tam 2009 1
Guia n2 tam 2009 1Guia n2 tam 2009 1
Guia n2 tam 2009 1
 
Manuales seminario java-manualdejava-sem 3 - 4
Manuales seminario java-manualdejava-sem 3 - 4Manuales seminario java-manualdejava-sem 3 - 4
Manuales seminario java-manualdejava-sem 3 - 4
 
Acmar trucos de visual basic(2)
Acmar   trucos de visual basic(2)Acmar   trucos de visual basic(2)
Acmar trucos de visual basic(2)
 
Ejercicios propuestos 4
Ejercicios propuestos 4Ejercicios propuestos 4
Ejercicios propuestos 4
 
Enlace dinámico
Enlace dinámicoEnlace dinámico
Enlace dinámico
 
Ejercisos condicionales 1
Ejercisos condicionales 1Ejercisos condicionales 1
Ejercisos condicionales 1
 
Problemas propuesto 1 al12
Problemas propuesto 1 al12Problemas propuesto 1 al12
Problemas propuesto 1 al12
 
Comandos r
Comandos rComandos r
Comandos r
 
Problemas condicionales
Problemas condicionalesProblemas condicionales
Problemas condicionales
 
Practica Cuatro Delphi
Practica Cuatro  DelphiPractica Cuatro  Delphi
Practica Cuatro Delphi
 
Ejercicios en Netbeans
Ejercicios en NetbeansEjercicios en Netbeans
Ejercicios en Netbeans
 
Ejercicios en java
Ejercicios en javaEjercicios en java
Ejercicios en java
 
Universidad tecnológica del estado de zacatecas
Universidad tecnológica del estado de zacatecasUniversidad tecnológica del estado de zacatecas
Universidad tecnológica del estado de zacatecas
 
Biblioteca java.util por gio
Biblioteca java.util por gioBiblioteca java.util por gio
Biblioteca java.util por gio
 
Perceptron simple
Perceptron simplePerceptron simple
Perceptron simple
 
Ejercicios en netbeans con condiciones
Ejercicios en netbeans con condicionesEjercicios en netbeans con condiciones
Ejercicios en netbeans con condiciones
 
Programacion ii
Programacion iiProgramacion ii
Programacion ii
 
Java AWT Tres en Raya
Java AWT Tres en RayaJava AWT Tres en Raya
Java AWT Tres en Raya
 

Destacado

Borrador pleno (10) 13 mayo-2014, 1ª parte
Borrador pleno (10) 13 mayo-2014, 1ª parteBorrador pleno (10) 13 mayo-2014, 1ª parte
Borrador pleno (10) 13 mayo-2014, 1ª parteUPyD Parla
 
Educacion y recreacion ambiental2
Educacion y recreacion ambiental2Educacion y recreacion ambiental2
Educacion y recreacion ambiental2testagaribaldo
 
Las 5 mejores aplicaciones para gestionar tus finanzas
Las 5 mejores aplicaciones para gestionar tus finanzasLas 5 mejores aplicaciones para gestionar tus finanzas
Las 5 mejores aplicaciones para gestionar tus finanzasKaren Quintero Castañeda
 
¿Estás listo para una carrera freelance a tiempo completo? Lo sabrás si estás...
¿Estás listo para una carrera freelance a tiempo completo? Lo sabrás si estás...¿Estás listo para una carrera freelance a tiempo completo? Lo sabrás si estás...
¿Estás listo para una carrera freelance a tiempo completo? Lo sabrás si estás...Karen Quintero Castañeda
 
Diego brown
Diego brownDiego brown
Diego brownOXPO11
 
Presentación Fuente interactiva concurso Smart Cities
Presentación Fuente interactiva concurso Smart CitiesPresentación Fuente interactiva concurso Smart Cities
Presentación Fuente interactiva concurso Smart CitiesFrancisco Rosales
 
Visitas tecnicas-110706004141-phpapp02
Visitas tecnicas-110706004141-phpapp02Visitas tecnicas-110706004141-phpapp02
Visitas tecnicas-110706004141-phpapp02Milita Carrillo
 
Ubivirtual configuracion
Ubivirtual  configuracionUbivirtual  configuracion
Ubivirtual configuracionfidelmen
 
10 excelentes fotografías creativas tomadas con un smartphone
10 excelentes fotografías creativas tomadas con un smartphone10 excelentes fotografías creativas tomadas con un smartphone
10 excelentes fotografías creativas tomadas con un smartphoneKaren Quintero Castañeda
 
7 formas de pago disponibles para freelancers
7 formas de pago disponibles para freelancers7 formas de pago disponibles para freelancers
7 formas de pago disponibles para freelancersKaren Quintero Castañeda
 
Try catch-finally
Try catch-finallyTry catch-finally
Try catch-finallyjbersosa
 
Borrador pleno (09) 28 abril-2014
Borrador pleno (09) 28 abril-2014Borrador pleno (09) 28 abril-2014
Borrador pleno (09) 28 abril-2014UPyD Parla
 
Herramientas telematicas
Herramientas telematicasHerramientas telematicas
Herramientas telematicasAndres Martinez
 

Destacado (20)

Borrador pleno (10) 13 mayo-2014, 1ª parte
Borrador pleno (10) 13 mayo-2014, 1ª parteBorrador pleno (10) 13 mayo-2014, 1ª parte
Borrador pleno (10) 13 mayo-2014, 1ª parte
 
ASALTAN CLUB DE TIRO EN LIMA
ASALTAN CLUB DE TIRO EN LIMAASALTAN CLUB DE TIRO EN LIMA
ASALTAN CLUB DE TIRO EN LIMA
 
Educacion y recreacion ambiental2
Educacion y recreacion ambiental2Educacion y recreacion ambiental2
Educacion y recreacion ambiental2
 
Web pipiolo
Web pipioloWeb pipiolo
Web pipiolo
 
Las 5 mejores aplicaciones para gestionar tus finanzas
Las 5 mejores aplicaciones para gestionar tus finanzasLas 5 mejores aplicaciones para gestionar tus finanzas
Las 5 mejores aplicaciones para gestionar tus finanzas
 
¿Estás listo para una carrera freelance a tiempo completo? Lo sabrás si estás...
¿Estás listo para una carrera freelance a tiempo completo? Lo sabrás si estás...¿Estás listo para una carrera freelance a tiempo completo? Lo sabrás si estás...
¿Estás listo para una carrera freelance a tiempo completo? Lo sabrás si estás...
 
Diego brown
Diego brownDiego brown
Diego brown
 
Presentación Fuente interactiva concurso Smart Cities
Presentación Fuente interactiva concurso Smart CitiesPresentación Fuente interactiva concurso Smart Cities
Presentación Fuente interactiva concurso Smart Cities
 
Privado mate 01 1
Privado mate 01 1Privado mate 01 1
Privado mate 01 1
 
La empresa
La empresaLa empresa
La empresa
 
Visitas tecnicas-110706004141-phpapp02
Visitas tecnicas-110706004141-phpapp02Visitas tecnicas-110706004141-phpapp02
Visitas tecnicas-110706004141-phpapp02
 
Ubivirtual configuracion
Ubivirtual  configuracionUbivirtual  configuracion
Ubivirtual configuracion
 
10 excelentes fotografías creativas tomadas con un smartphone
10 excelentes fotografías creativas tomadas con un smartphone10 excelentes fotografías creativas tomadas con un smartphone
10 excelentes fotografías creativas tomadas con un smartphone
 
Incas
Incas Incas
Incas
 
7 formas de pago disponibles para freelancers
7 formas de pago disponibles para freelancers7 formas de pago disponibles para freelancers
7 formas de pago disponibles para freelancers
 
Modelo 1 a 1 clase 1
Modelo 1 a 1 clase 1Modelo 1 a 1 clase 1
Modelo 1 a 1 clase 1
 
Try catch-finally
Try catch-finallyTry catch-finally
Try catch-finally
 
Borrador pleno (09) 28 abril-2014
Borrador pleno (09) 28 abril-2014Borrador pleno (09) 28 abril-2014
Borrador pleno (09) 28 abril-2014
 
Fundamentos Flash Builder
Fundamentos Flash BuilderFundamentos Flash Builder
Fundamentos Flash Builder
 
Herramientas telematicas
Herramientas telematicasHerramientas telematicas
Herramientas telematicas
 

Similar a Menu con opciones de captura

Codigo Explicado Rompe Bloques.docx
Codigo Explicado Rompe Bloques.docxCodigo Explicado Rompe Bloques.docx
Codigo Explicado Rompe Bloques.docxEdwinAntonioSegoviaD
 
Java construye las interfaces gráficas del usuario mediante awt
Java construye las interfaces gráficas del usuario mediante awtJava construye las interfaces gráficas del usuario mediante awt
Java construye las interfaces gráficas del usuario mediante awtjbersosa
 
Herencia para jframe y diseño de jmenu,j internalframe, jdialog
Herencia para jframe y diseño de jmenu,j internalframe, jdialogHerencia para jframe y diseño de jmenu,j internalframe, jdialog
Herencia para jframe y diseño de jmenu,j internalframe, jdialogLCA
 
Taller Tkinter.pdf
Taller Tkinter.pdfTaller Tkinter.pdf
Taller Tkinter.pdfJCCV1
 
Xna game studio presentación 02
Xna game studio   presentación 02Xna game studio   presentación 02
Xna game studio presentación 02Juan Cardona
 
Informe 4 de formularios
Informe 4 de formulariosInforme 4 de formularios
Informe 4 de formulariosKeevynMoreno
 
Guia practicaiuprg3
Guia practicaiuprg3Guia practicaiuprg3
Guia practicaiuprg3alex sgarcia
 
Plan menus swing
Plan menus swingPlan menus swing
Plan menus swingAlice5253
 
inv unidad 1 topicos avanzados de programacion
inv unidad 1 topicos avanzados de programacioninv unidad 1 topicos avanzados de programacion
inv unidad 1 topicos avanzados de programacionAnel Sosa
 

Similar a Menu con opciones de captura (16)

Android
AndroidAndroid
Android
 
Codigo Explicado Rompe Bloques.docx
Codigo Explicado Rompe Bloques.docxCodigo Explicado Rompe Bloques.docx
Codigo Explicado Rompe Bloques.docx
 
Semana 5 Java Swing
Semana 5   Java SwingSemana 5   Java Swing
Semana 5 Java Swing
 
Temaswing
TemaswingTemaswing
Temaswing
 
Java construye las interfaces gráficas del usuario mediante awt
Java construye las interfaces gráficas del usuario mediante awtJava construye las interfaces gráficas del usuario mediante awt
Java construye las interfaces gráficas del usuario mediante awt
 
Programación i
Programación iProgramación i
Programación i
 
Herencia para jframe y diseño de jmenu,j internalframe, jdialog
Herencia para jframe y diseño de jmenu,j internalframe, jdialogHerencia para jframe y diseño de jmenu,j internalframe, jdialog
Herencia para jframe y diseño de jmenu,j internalframe, jdialog
 
Taller Tkinter.pdf
Taller Tkinter.pdfTaller Tkinter.pdf
Taller Tkinter.pdf
 
10.Polimorfismo Java
10.Polimorfismo Java10.Polimorfismo Java
10.Polimorfismo Java
 
Xna game studio presentación 02
Xna game studio   presentación 02Xna game studio   presentación 02
Xna game studio presentación 02
 
Programacion en JAVA 2
Programacion en JAVA 2Programacion en JAVA 2
Programacion en JAVA 2
 
Ejercicio simple java
Ejercicio simple javaEjercicio simple java
Ejercicio simple java
 
Informe 4 de formularios
Informe 4 de formulariosInforme 4 de formularios
Informe 4 de formularios
 
Guia practicaiuprg3
Guia practicaiuprg3Guia practicaiuprg3
Guia practicaiuprg3
 
Plan menus swing
Plan menus swingPlan menus swing
Plan menus swing
 
inv unidad 1 topicos avanzados de programacion
inv unidad 1 topicos avanzados de programacioninv unidad 1 topicos avanzados de programacion
inv unidad 1 topicos avanzados de programacion
 

Más de jbersosa

Las excepciones standar
Las excepciones standarLas excepciones standar
Las excepciones standarjbersosa
 
Mas sobre excepciones
Mas sobre excepcionesMas sobre excepciones
Mas sobre excepcionesjbersosa
 
Estructuras de control try catch
Estructuras de control try catchEstructuras de control try catch
Estructuras de control try catchjbersosa
 
Clasen1java
Clasen1javaClasen1java
Clasen1javajbersosa
 
Programación java1
Programación java1Programación java1
Programación java1jbersosa
 
Tercercortesistop
TercercortesistopTercercortesistop
Tercercortesistopjbersosa
 
Encapsulacion
EncapsulacionEncapsulacion
Encapsulacionjbersosa
 
Administracion de la memoria principal
Administracion de  la memoria principalAdministracion de  la memoria principal
Administracion de la memoria principaljbersosa
 
Auditoria 2
Auditoria 2Auditoria 2
Auditoria 2jbersosa
 
Auditoriasistemasi 150703002656-lva1-app6891
Auditoriasistemasi 150703002656-lva1-app6891Auditoriasistemasi 150703002656-lva1-app6891
Auditoriasistemasi 150703002656-lva1-app6891jbersosa
 
Auditoria informatica
Auditoria informaticaAuditoria informatica
Auditoria informaticajbersosa
 
Auditoria de sistemas (1)
Auditoria de sistemas (1)Auditoria de sistemas (1)
Auditoria de sistemas (1)jbersosa
 
Auditoría de sistemas de información presentación
Auditoría de sistemas de información presentaciónAuditoría de sistemas de información presentación
Auditoría de sistemas de información presentaciónjbersosa
 
Realizar investigación y hacer un análisis por cada tema asignado al particip...
Realizar investigación y hacer un análisis por cada tema asignado al particip...Realizar investigación y hacer un análisis por cada tema asignado al particip...
Realizar investigación y hacer un análisis por cada tema asignado al particip...jbersosa
 
Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativosjbersosa
 
Estructura de una red
Estructura de una redEstructura de una red
Estructura de una redjbersosa
 
Proyectodeprogramacinidesegundocorte2015 2
Proyectodeprogramacinidesegundocorte2015 2Proyectodeprogramacinidesegundocorte2015 2
Proyectodeprogramacinidesegundocorte2015 2jbersosa
 
Bases de datos mysql y repotes usando jasper report
Bases de datos mysql y repotes usando jasper reportBases de datos mysql y repotes usando jasper report
Bases de datos mysql y repotes usando jasper reportjbersosa
 

Más de jbersosa (20)

Las excepciones standar
Las excepciones standarLas excepciones standar
Las excepciones standar
 
Mas sobre excepciones
Mas sobre excepcionesMas sobre excepciones
Mas sobre excepciones
 
Estructuras de control try catch
Estructuras de control try catchEstructuras de control try catch
Estructuras de control try catch
 
Main
MainMain
Main
 
Clasen1java
Clasen1javaClasen1java
Clasen1java
 
Programación java1
Programación java1Programación java1
Programación java1
 
Tercercortesistop
TercercortesistopTercercortesistop
Tercercortesistop
 
Encapsulacion
EncapsulacionEncapsulacion
Encapsulacion
 
Administracion de la memoria principal
Administracion de  la memoria principalAdministracion de  la memoria principal
Administracion de la memoria principal
 
Auditoria 2
Auditoria 2Auditoria 2
Auditoria 2
 
Auditoriasistemasi 150703002656-lva1-app6891
Auditoriasistemasi 150703002656-lva1-app6891Auditoriasistemasi 150703002656-lva1-app6891
Auditoriasistemasi 150703002656-lva1-app6891
 
Auditoria informatica
Auditoria informaticaAuditoria informatica
Auditoria informatica
 
Auditoria de sistemas (1)
Auditoria de sistemas (1)Auditoria de sistemas (1)
Auditoria de sistemas (1)
 
Auditoría de sistemas de información presentación
Auditoría de sistemas de información presentaciónAuditoría de sistemas de información presentación
Auditoría de sistemas de información presentación
 
Realizar investigación y hacer un análisis por cada tema asignado al particip...
Realizar investigación y hacer un análisis por cada tema asignado al particip...Realizar investigación y hacer un análisis por cada tema asignado al particip...
Realizar investigación y hacer un análisis por cada tema asignado al particip...
 
Sistemas operativos
Sistemas operativosSistemas operativos
Sistemas operativos
 
Php
PhpPhp
Php
 
Estructura de una red
Estructura de una redEstructura de una red
Estructura de una red
 
Proyectodeprogramacinidesegundocorte2015 2
Proyectodeprogramacinidesegundocorte2015 2Proyectodeprogramacinidesegundocorte2015 2
Proyectodeprogramacinidesegundocorte2015 2
 
Bases de datos mysql y repotes usando jasper report
Bases de datos mysql y repotes usando jasper reportBases de datos mysql y repotes usando jasper report
Bases de datos mysql y repotes usando jasper report
 

Último

la CELULA. caracteristicas, funciones, i
la CELULA. caracteristicas, funciones, ila CELULA. caracteristicas, funciones, i
la CELULA. caracteristicas, funciones, iBACAURBINAErwinarnol
 
PONENCIA DE PRESENTACIÓN DEL CURSO DE IOB-COP
PONENCIA DE PRESENTACIÓN DEL CURSO DE IOB-COPPONENCIA DE PRESENTACIÓN DEL CURSO DE IOB-COP
PONENCIA DE PRESENTACIÓN DEL CURSO DE IOB-COPRicardo Benza
 
Anatomía e irrigación del corazón- Cardiología. pptx
Anatomía e irrigación del corazón- Cardiología. pptxAnatomía e irrigación del corazón- Cardiología. pptx
Anatomía e irrigación del corazón- Cardiología. pptx Estefa RM9
 
Clase 12 Artrología de Columna y Torax 2024.pdf
Clase 12 Artrología de Columna y Torax 2024.pdfClase 12 Artrología de Columna y Torax 2024.pdf
Clase 12 Artrología de Columna y Torax 2024.pdfgarrotamara01
 
Emergencia Neumológica: Crisis asmática.pptx
Emergencia Neumológica: Crisis asmática.pptxEmergencia Neumológica: Crisis asmática.pptx
Emergencia Neumológica: Crisis asmática.pptxMediNeumo
 
ICTERICIA INFANTIL Y NEONATAL 2024 v2.0.pdf
ICTERICIA INFANTIL Y NEONATAL 2024 v2.0.pdfICTERICIA INFANTIL Y NEONATAL 2024 v2.0.pdf
ICTERICIA INFANTIL Y NEONATAL 2024 v2.0.pdfMAHINOJOSA45
 
INFECCION DE TRACTO URINARIO (ITU) EN GESTANTES
INFECCION DE TRACTO URINARIO (ITU) EN GESTANTESINFECCION DE TRACTO URINARIO (ITU) EN GESTANTES
INFECCION DE TRACTO URINARIO (ITU) EN GESTANTESangelojosue
 
mapa-conceptual-del-sistema-endocrino-4-2.pptx
mapa-conceptual-del-sistema-endocrino-4-2.pptxmapa-conceptual-del-sistema-endocrino-4-2.pptx
mapa-conceptual-del-sistema-endocrino-4-2.pptxDanielPedrozaHernand
 
SONDAS, CÁNULAS, CATÉTERES Y DRENAJES Yocelyn F. Feb 17 2011.ppt
SONDAS, CÁNULAS, CATÉTERES Y DRENAJES Yocelyn F. Feb 17 2011.pptSONDAS, CÁNULAS, CATÉTERES Y DRENAJES Yocelyn F. Feb 17 2011.ppt
SONDAS, CÁNULAS, CATÉTERES Y DRENAJES Yocelyn F. Feb 17 2011.pptGeneralTrejo
 
Clase 13 Artrologia Cintura Escapular 2024.pdf
Clase 13 Artrologia Cintura Escapular 2024.pdfClase 13 Artrologia Cintura Escapular 2024.pdf
Clase 13 Artrologia Cintura Escapular 2024.pdfgarrotamara01
 
Asfixia por confinamiento en medicina legal.pptx
Asfixia por confinamiento en medicina legal.pptxAsfixia por confinamiento en medicina legal.pptx
Asfixia por confinamiento en medicina legal.pptxanalaurafrancomolina
 
GENERALIDADES SOBRE LA CESAREA, RESIDENCIA DE GINECOLOGIA Y OBSTETRICIA
GENERALIDADES SOBRE LA CESAREA, RESIDENCIA DE GINECOLOGIA Y OBSTETRICIAGENERALIDADES SOBRE LA CESAREA, RESIDENCIA DE GINECOLOGIA Y OBSTETRICIA
GENERALIDADES SOBRE LA CESAREA, RESIDENCIA DE GINECOLOGIA Y OBSTETRICIAYinetCastilloPea
 
Dengue 2024 actualización en el tratamiento autorización de los síntomas trab...
Dengue 2024 actualización en el tratamiento autorización de los síntomas trab...Dengue 2024 actualización en el tratamiento autorización de los síntomas trab...
Dengue 2024 actualización en el tratamiento autorización de los síntomas trab...jchahua
 
Como se produjo la Penicilina de forma massiva en la II Guerra Mundial.pdf
Como se produjo la Penicilina de forma massiva en la II Guerra Mundial.pdfComo se produjo la Penicilina de forma massiva en la II Guerra Mundial.pdf
Como se produjo la Penicilina de forma massiva en la II Guerra Mundial.pdfKEVINYOICIAQUINOSORI
 
Alcohol etílico bioquimica, fisiopatologia
Alcohol etílico bioquimica, fisiopatologiaAlcohol etílico bioquimica, fisiopatologia
Alcohol etílico bioquimica, fisiopatologiassuser76dfc8
 
CASO NEONATAL ictericia Rev MH 04.2024.pdf
CASO NEONATAL ictericia Rev MH 04.2024.pdfCASO NEONATAL ictericia Rev MH 04.2024.pdf
CASO NEONATAL ictericia Rev MH 04.2024.pdfMAHINOJOSA45
 
"La auto-regulación como concepto esencial para la seguridad de la praxis clí...
"La auto-regulación como concepto esencial para la seguridad de la praxis clí..."La auto-regulación como concepto esencial para la seguridad de la praxis clí...
"La auto-regulación como concepto esencial para la seguridad de la praxis clí...Badalona Serveis Assistencials
 
tecnicas practivas DIGITOPUNTURA SHIATZU.ppt
tecnicas practivas DIGITOPUNTURA SHIATZU.ppttecnicas practivas DIGITOPUNTURA SHIATZU.ppt
tecnicas practivas DIGITOPUNTURA SHIATZU.pptLEONCIOVASQUEZMARIN2
 

Último (20)

la CELULA. caracteristicas, funciones, i
la CELULA. caracteristicas, funciones, ila CELULA. caracteristicas, funciones, i
la CELULA. caracteristicas, funciones, i
 
PONENCIA DE PRESENTACIÓN DEL CURSO DE IOB-COP
PONENCIA DE PRESENTACIÓN DEL CURSO DE IOB-COPPONENCIA DE PRESENTACIÓN DEL CURSO DE IOB-COP
PONENCIA DE PRESENTACIÓN DEL CURSO DE IOB-COP
 
Anatomía e irrigación del corazón- Cardiología. pptx
Anatomía e irrigación del corazón- Cardiología. pptxAnatomía e irrigación del corazón- Cardiología. pptx
Anatomía e irrigación del corazón- Cardiología. pptx
 
Clase 12 Artrología de Columna y Torax 2024.pdf
Clase 12 Artrología de Columna y Torax 2024.pdfClase 12 Artrología de Columna y Torax 2024.pdf
Clase 12 Artrología de Columna y Torax 2024.pdf
 
Emergencia Neumológica: Crisis asmática.pptx
Emergencia Neumológica: Crisis asmática.pptxEmergencia Neumológica: Crisis asmática.pptx
Emergencia Neumológica: Crisis asmática.pptx
 
ICTERICIA INFANTIL Y NEONATAL 2024 v2.0.pdf
ICTERICIA INFANTIL Y NEONATAL 2024 v2.0.pdfICTERICIA INFANTIL Y NEONATAL 2024 v2.0.pdf
ICTERICIA INFANTIL Y NEONATAL 2024 v2.0.pdf
 
INFECCION DE TRACTO URINARIO (ITU) EN GESTANTES
INFECCION DE TRACTO URINARIO (ITU) EN GESTANTESINFECCION DE TRACTO URINARIO (ITU) EN GESTANTES
INFECCION DE TRACTO URINARIO (ITU) EN GESTANTES
 
mapa-conceptual-del-sistema-endocrino-4-2.pptx
mapa-conceptual-del-sistema-endocrino-4-2.pptxmapa-conceptual-del-sistema-endocrino-4-2.pptx
mapa-conceptual-del-sistema-endocrino-4-2.pptx
 
SONDAS, CÁNULAS, CATÉTERES Y DRENAJES Yocelyn F. Feb 17 2011.ppt
SONDAS, CÁNULAS, CATÉTERES Y DRENAJES Yocelyn F. Feb 17 2011.pptSONDAS, CÁNULAS, CATÉTERES Y DRENAJES Yocelyn F. Feb 17 2011.ppt
SONDAS, CÁNULAS, CATÉTERES Y DRENAJES Yocelyn F. Feb 17 2011.ppt
 
Clase 13 Artrologia Cintura Escapular 2024.pdf
Clase 13 Artrologia Cintura Escapular 2024.pdfClase 13 Artrologia Cintura Escapular 2024.pdf
Clase 13 Artrologia Cintura Escapular 2024.pdf
 
Asfixia por confinamiento en medicina legal.pptx
Asfixia por confinamiento en medicina legal.pptxAsfixia por confinamiento en medicina legal.pptx
Asfixia por confinamiento en medicina legal.pptx
 
GENERALIDADES SOBRE LA CESAREA, RESIDENCIA DE GINECOLOGIA Y OBSTETRICIA
GENERALIDADES SOBRE LA CESAREA, RESIDENCIA DE GINECOLOGIA Y OBSTETRICIAGENERALIDADES SOBRE LA CESAREA, RESIDENCIA DE GINECOLOGIA Y OBSTETRICIA
GENERALIDADES SOBRE LA CESAREA, RESIDENCIA DE GINECOLOGIA Y OBSTETRICIA
 
Dengue 2024 actualización en el tratamiento autorización de los síntomas trab...
Dengue 2024 actualización en el tratamiento autorización de los síntomas trab...Dengue 2024 actualización en el tratamiento autorización de los síntomas trab...
Dengue 2024 actualización en el tratamiento autorización de los síntomas trab...
 
Como se produjo la Penicilina de forma massiva en la II Guerra Mundial.pdf
Como se produjo la Penicilina de forma massiva en la II Guerra Mundial.pdfComo se produjo la Penicilina de forma massiva en la II Guerra Mundial.pdf
Como se produjo la Penicilina de forma massiva en la II Guerra Mundial.pdf
 
Transparencia Fiscal HJPII Marzo 2024
Transparencia  Fiscal  HJPII  Marzo 2024Transparencia  Fiscal  HJPII  Marzo 2024
Transparencia Fiscal HJPII Marzo 2024
 
Alcohol etílico bioquimica, fisiopatologia
Alcohol etílico bioquimica, fisiopatologiaAlcohol etílico bioquimica, fisiopatologia
Alcohol etílico bioquimica, fisiopatologia
 
CASO NEONATAL ictericia Rev MH 04.2024.pdf
CASO NEONATAL ictericia Rev MH 04.2024.pdfCASO NEONATAL ictericia Rev MH 04.2024.pdf
CASO NEONATAL ictericia Rev MH 04.2024.pdf
 
Neumonia complicada en niños y pediatria vrs neumonia grave, gérmenes, nuevas...
Neumonia complicada en niños y pediatria vrs neumonia grave, gérmenes, nuevas...Neumonia complicada en niños y pediatria vrs neumonia grave, gérmenes, nuevas...
Neumonia complicada en niños y pediatria vrs neumonia grave, gérmenes, nuevas...
 
"La auto-regulación como concepto esencial para la seguridad de la praxis clí...
"La auto-regulación como concepto esencial para la seguridad de la praxis clí..."La auto-regulación como concepto esencial para la seguridad de la praxis clí...
"La auto-regulación como concepto esencial para la seguridad de la praxis clí...
 
tecnicas practivas DIGITOPUNTURA SHIATZU.ppt
tecnicas practivas DIGITOPUNTURA SHIATZU.ppttecnicas practivas DIGITOPUNTURA SHIATZU.ppt
tecnicas practivas DIGITOPUNTURA SHIATZU.ppt
 

Menu con opciones de captura

  • 1. MENU CON OPCIONES DE CAPTURA Ahora veremos como crear un menú de opciones y la captura de eventos de los mismos. Cuando necesitamos implementar un menú horizontal en la parte superior de un JFrame requerimos de un objeto de la clase JMenuBar, uno o más objetos de la clase JMenu y por último objetos de la clase JMenuItem. Par la captura de eventos debemos implementar la interface ActionListener y asociarlo a los controles de tipo JMenuItem, el mismo se dispara al presionar con el mouse el JMenuItem. Problema 1: Confeccionaremos un menú de opciones que contenga tres opciones que permita cambiar el color de fondo del JFrame a los colores: rojo, verde y azul. Programa: import javax.swing.*; import java.awt.*; import java.awt.event.*; public class Formulario extends JFrame implements ActionListener{ private JMenuBar mb; private JMenu menu1; private JMenuItem mi1,mi2,mi3; public Formulario() { setLayout(null); mb=new JMenuBar(); setJMenuBar(mb); menu1=new JMenu("Opciones"); mb.add(menu1);
  • 2. mi1=new JMenuItem("Rojo"); mi1.addActionListener(this); menu1.add(mi1); mi2=new JMenuItem("Verde"); mi2.addActionListener(this); menu1.add(mi2); mi3=new JMenuItem("Azul"); mi3.addActionListener(this); menu1.add(mi3); } public void actionPerformed(ActionEvent e) { Container f=this.getContentPane(); if (e.getSource()==mi1) { f.setBackground(new Color(255,0,0)); } if (e.getSource()==mi2) { f.setBackground(new Color(0,255,0)); } if (e.getSource()==mi3) { f.setBackground(new Color(0,0,255)); } } public static void main(String[] ar) { Formulario formulario1=new Formulario(); formulario1.setBounds(10,20,300,200); formulario1.setVisible(true); } } Importamos el paquete javax.swing ya que en el mismo se encuentran las tres clases JMenuBar, JMenu y JMenuItem: import javax.swing.*; Importamos java.awt donde se encuentra la clase Color: import java.awt.*; Para la captura de eventos mediante la interface ActionListener debemos importar el paquete java.awt.event: import java.awt.event.*; Declaramos la clase Formulario, heredamos de la clase JFrame e indicamos que implementaremos la interface ActionListener:
  • 3. public class Formulario extends JFrame implements ActionListener{ Definimos un objeto de la clase JMenuBar (no importa que tan grande sea un menú de opciones solo se necesitará un solo objeto de esta clase): private JMenuBar mb; Definimos un objeto de la clase JMenu (esta clase tiene por objeto desplegar un conjunto de objetos de tipo JMenuItem u otros objetos de tipo JMenu: private JMenu menu1; Definimos tres objetos de la clase JMenuItem (estos son los que disparan eventos cuando el operador los selecciona: private JMenuItem mi1,mi2,mi3; En el constructor creamos primero el objeto de la clase JMenuBar y lo asociamos al JFrame llamando al método setJMenuBar: mb=new JMenuBar(); setJMenuBar(mb); Seguidamente creamos un objeto de la clase JMenu, en el constructor pasamos el String que debe mostrar y asociamos dicho JMenu con el JMenuBar llamando al método add de objeto de tipo JMenuBar (Es decir el objeto de la clase JMenu colabora con la clase JMenuBar): menu1=new JMenu("Opciones"); mb.add(menu1); Ahora comenzamos a crear los objetos de la clase JMenuItem y los añadimos al objeto de la clase JMenu (también mediante la llamada al método addActionListener indicamos al JMenuItem que objeto procesará el clic): mi1=new JMenuItem("Rojo"); mi1.addActionListener(this); menu1.add(mi1); Lo mismo hacemos para los otros dos JMenuItem: mi2=new JMenuItem("Verde"); mi2.addActionListener(this); menu1.add(mi2); mi3=new JMenuItem("Azul"); mi3.addActionListener(this); menu1.add(mi3); En el método actionPerformed primero obtenemos la referencia al panel asociado con el JFrame: public void actionPerformed(ActionEvent e) { Container f=this.getContentPane(); Luego mediante if verificamos cual de los tres JMenuItem fue seleccionado y a partir de esto llamamos al método setBackground del objeto de la clase Container): if (e.getSource()==mi1) { f.setBackground(new Color(255,0,0)); } if (e.getSource()==mi2) { f.setBackground(new Color(0,255,0));
  • 4. } if (e.getSource()==mi3) { f.setBackground(new Color(0,0,255)); } } Problema 2: Confeccionaremos un menú de opciones que contenga además del JMenu de la barra otros dos objetos de la clase JMenu que dependan del primero. Uno debe mostrar dos JMenuItem que permitan modificar el tamaño del JFrame y el segundo también debe mostrar dos JMenuItem que permitan cambiar el color de fondo. Programa: import javax.swing.*; import java.awt.*; import java.awt.event.*; public class Formulario extends JFrame implements ActionListener{ private JMenuBar mb; private JMenu menu1,menu2,menu3; private JMenuItem mi1,mi2,mi3,mi4; public Formulario() { setLayout(null); mb=new JMenuBar(); setJMenuBar(mb); menu1=new JMenu("Opciones"); mb.add(menu1); menu2=new JMenu("Tamaño de la ventana"); menu1.add(menu2);
  • 5. menu3=new JMenu("Color de fondo"); menu1.add(menu3); mi1=new JMenuItem("640*480"); menu2.add(mi1); mi1.addActionListener(this); mi2=new JMenuItem("1024*768"); menu2.add(mi2); mi2.addActionListener(this); mi3=new JMenuItem("Rojo"); menu3.add(mi3); mi3.addActionListener(this); mi4=new JMenuItem("Verde"); menu3.add(mi4); mi4.addActionListener(this); } public void actionPerformed(ActionEvent e) { if (e.getSource()==mi1) { setSize(640,480); } if (e.getSource()==mi2) { setSize(1024,768); } if (e.getSource()==mi3) { getContentPane().setBackground(new Color(255,0,0)); } if (e.getSource()==mi4) { getContentPane().setBackground(new Color(0,255,0)); } } public static void main(String[] ar) { Formulario formulario1=new Formulario(); formulario1.setBounds(0,0,300,200); formulario1.setVisible(true); }
  • 6. } Definimos un objeto de la clase JMenuBar, 3 objetos de la clase JMenu y finalmente 4 objetos de la clase JMenuItem: private JMenuBar mb; private JMenu menu1,menu2,menu3; private JMenuItem mi1,mi2,mi3,mi4; Es importante notar el orden de creación de los objetos y como los relacionamos unos con otros. Primero creamos el JMenuBar y lo asociamos con el JFrame: mb=new JMenuBar(); setJMenuBar(mb); Creamos el primer JMenu y lo pasamos como parámetro al JMenuBar mediante el método add: menu1=new JMenu("Opciones"); mb.add(menu1); Ahora creamos el segundo objeto de la clase JMenu y lo asociamos con el primer JMenu creado: menu2=new JMenu("Tamaño de la ventana"); menu1.add(menu2); En forma similar creamos el tercer objeto de la clase JMenu y lo asociamos con el primer JMenu creado: menu3=new JMenu("Color de fondo"); menu1.add(menu3); Finalmente comenzamos a crear los objetos de la clase JMenuItem y los dos primeros los asociamos con el segundo JMenu: mi1=new JMenuItem("640*480"); menu2.add(mi1); mi1.addActionListener(this); mi2=new JMenuItem("1024*768"); menu2.add(mi2); mi2.addActionListener(this); También hacemos lo mismo con los otros dos objetos de tipo JMenuItem pero ahora los asociamos con el tercer JMenu: mi3=new JMenuItem("Rojo"); menu3.add(mi3); mi3.addActionListener(this); mi4=new JMenuItem("Verde"); menu3.add(mi4); mi4.addActionListener(this); En el método actionPerformed si se presiona el mi1 procedemos a redimensionar el JFrame llamando al método setSize y le pasamos dos parámetros que representan el nuevo ancho y alto de la ventana: if (e.getSource()==mi1) { setSize(640,480); }
  • 7. De forma similar si se presiona el segundo JMenuItem cambiamos el tamaño de la ventana a 1024 píxeles por 768: if (e.getSource()==mi2) { setSize(1024,768); } Para cambiar de color de forma similar al problema anterior mediante el método getContentPane obtenemos la referencia al objeto de la clase Container y llamamos al método setBackground para fijar un nuevo color de fondo: if (e.getSource()==mi3) { getContentPane().setBackground(new Color(255,0,0)); } if (e.getSource()==mi4) { getContentPane().setBackground(new Color(0,255,0)); }