SlideShare una empresa de Scribd logo
1 de 16
Descargar para leer sin conexión
2016
Anel Verónica Sosa Mejía
Tópicos avanzados de Programación
18-2-2016
Unidad 1 EVENTOS
1
1
Contenido
EVENTOS...........................................................................................2
1.1 Tipos de eventos Eventos de bajo nivel....................................2
Eventos semánticos.....................................................................3
Generación y propagación de eventos...........................................4
Métodos de control de eventos.....................................................4
Creación de eventos.......................................................................6
EJEMPLO DE CREACION DE EVENTOS: ..............................................7
BIBLIOGRAFIA .................................................................................15
2
2
EVENTOS
Objetivo: Resolver problemas utilizando programación de eventos. Un evento es la notificación
que hace un elemento gráfico cuando el usuario interactúa con él. Por lo tanto, si se realiza alguna
acción sobre algún elemento de la interfaz, se dice que se ha generado un evento en dicho
elemento.
Tipos de eventos Eventos de bajo nivel
Representan entradas o interacciones de bajo nivel con elementos del interfaz gráfico (Cambio de
tamaño, cambio del foco, operación con el ratón o con el teclado).
Tabla 1Lista de eventos de bajo nivel:
Ilustración 1 Ejemplo de KeyEvent
Ilustración 2 ejemplo de MouseEvent
3
3
Eventos semánticos.
Eventos de alto nivel que encapsulan la semántica del modelo de componentes del interfaz
de usuario (Hacer una acción, un cambio de estado en un elemento, etc.). No están
relacionados con una clase específica de componente sino que pueden aplicarse a todos los
componentes que implementen un modelo semántico similar.
Tabla 2
Ilustración 3ELEMENTOS
SELECCIONADOS
ILUSTRACIÓN 3CAMBIOS EN LA SELCCION ACTUAL DE UNA LISTA
4
4
Generación y propagación de eventos.
El paquete java.awt.event es el que contiene la mayor parte de las clases e interfaces de eventos.
El modelo de delegación de eventos es un concepto que trabaja de la siguiente manera: Una
fuente genera un evento y lo envía a uno a más oyentes o auditores, que han estado simplemente
esperando hasta que reciben ese evento y una vez recibido lo procesan y lo devuelven. Una
fuente es un objeto que genera un evento. Esto ocurre cuando cambia de alguna manera el
estado interno de ese objeto. Las fuentes pueden generar más de un tipo de eventos. Una fuente
tiene que ir acompañada de auditores para que estos reciban las notificaciones sobre el tipo
específico de evento, cada tipo de evento tiene su propio método de registro. Un auditor es un
objeto que es avisado cuando ocurre un evento. Tiene dos requisitos principales. Primero tiene
que ser registrado o ir acompañado por una o más fuentes para recibir notificaciones sobre los
tipos específicos de eventos. Segundo, tiene que implementar métodos para recibir y procesar
notificaciones.
Métodos de control de eventos.
Ejemplos de componentes que pueden generar eventos:
Button. Genera eventos de acción (ActionEvent) cuando se
presiona el botón.
Checkbox. Genera eventos de elementos (ItemEvent)
cuando se selecciona o deselecciona un checkbox.
Choice. Genera eventos de elementos cuando se cambia de opción
choice. List. Genera eventos de acción cuando se hace doble click sobre un elemento, genera
eventos de elemento cuando se selecciona o deselecciona un elemento.
Ilustración 4ActionEvent
5
5
Menu Item. Genera eventos de acción cuando se selecciona un elemento de menú; genera
eventos del elemento cuando se selecciona o se deselecciona un elemento de un menú de
opciones.
Scrollbar. Genera eventos de ajuste
(AdjustmentEvent)
Cuando se manipula el scrollbar.
Text components. Genera eventos de texto
(TextEvent) cuando el usuario introduce un carácter.
Window. Genera eventos de ventana (WindowEvent)
cuando una ventana se activa,
Se cierra, se desactiva, se minimiza, se maximiza
, se abre o se sale de ella.
Ilustración 5Ejemplo de scroll bars
Ilustración 6Ejemplo de ventanas
6
6
Creación de eventos.
Para la creación de eventos es necesario definir sobre que componente se desea crear dicho
evento.
Tabla 3Clases de eventos principales en java.awt.event
7
7
EJEMPLO DE CREACION DE EVENTOS:
Trata de un JPanel
donde puse 4 JButon
cada que se le aplana a un boton debe de dibujar en el panel central su respectivo dibujo
esto gracias a un BorderLayout
pude poner los botones en el sur y un panel de dibujo en el centro
para poder mandar a llamar cada metodo , en cada boton , necesite una clase privada en la clase
de Aplicacion
llamada manejadora de action events
ala que se le implementa un actionlistener
que es el encargado de recibir la accion , guardarla y esperar a que me pida ejecutarla n cada
boton
8
8
9
9
package practica2;
public class Practica2{
public static void main(String[] args) {
Aplicacion aplicacion=new Aplicacion();
}
}
package practica2;
import java.awt.Color;
import java.awt.Graphics;
import java.awt.Image;
import java.awt.Toolkit;
import javax.swing.JPanel;
public class MiPanel extends JPanel {
String Poligono, Ovalo, Arco, Imagen;
int xPoints[] = new int[4];
int yPoints[] = new int[4];
int x;
int y;
Image img;
int width;
int height;
int startAngle;
10
10
int arcAngle;
int ancho;
int alto;
public void limpiar() {
x = 0;
y = 0;
img = null;
width = 0;
height = 0;
startAngle = 0;
arcAngle = 0;
ancho = 0;
alto = 0;
xPoints[0] = 0;
xPoints[1] = 0;
xPoints[2] = 0;
xPoints[3] = 0;
yPoints[0] = 0;
yPoints[1] = 0;
yPoints[2] = 0;
yPoints[3] = 0;
}
public MiPanel() {
setBackground(Color.RED);
}
11
11
void dibujaPol() {
limpiar();
xPoints[0] = getWidth() / 4;
xPoints[1] = (getWidth() / 4) * 3;
xPoints[2] = (getWidth() / 4) * 3;
xPoints[3] = (getWidth() / 4);
yPoints[0] = getHeight() / 4;
yPoints[1] = getHeight() / 4;
yPoints[2] = (getHeight() / 4) * 3;
yPoints[3] = (getHeight() / 4) * 3;
repaint();
}
void dibujaOvalo() {
limpiar();
x = 0;
y = this.getHeight()/4 ;
ancho = this.getWidth();
alto = this.getHeight() / 2;
repaint();
}
void dibujaArco() {
limpiar();
width = 250;
12
12
height = 200;
startAngle = 65;
arcAngle = 90;
repaint();
}
void dibujaImagen() {
limpiar();
img = Toolkit.getDefaultToolkit().getImage("imagen.jpg");
repaint();
}
@Override
public void paintComponent(Graphics g) {
super.paintComponent(g);
g.fillPolygon(xPoints, yPoints, 4);
g.setColor(Color.ORANGE);
g.fillOval(x,y, ancho,alto);
g.setColor(Color.GREEN);
g.fillArc(this.getWidth() / 2, this.getHeight() / 2, width, height, startAngle, arcAngle);
g.setColor(Color.BLACK);
g.drawImage(img, 0, 0, this.getWidth(), this.getHeight(), this);
}
}
package practica2;
import java.awt.BorderLayout;
import java.awt.FlowLayout;
13
13
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
public class Aplicacion extends JFrame {
JButton btn1, btn2, btn3, btn4;
JPanel panelBotones;
MiPanel panelDibujo;
public Aplicacion() {
setLayout(new BorderLayout());
ManejadoraActionEvents manejador = new ManejadoraActionEvents();
btn1 = new JButton("Poligono");
btn2 = new JButton("Ovalo");
btn3 = new JButton("Arco");
btn4 = new JButton("Imagen");
btn1.addActionListener(manejador);
btn2.addActionListener(manejador);
btn3.addActionListener(manejador);
btn4.addActionListener(manejador);
panelBotones = new JPanel();
panelBotones.setLayout(new FlowLayout());
panelBotones.add(btn1);
panelBotones.add(btn2);
14
14
panelBotones.add(btn3);
panelBotones.add(btn4);
add(panelBotones, BorderLayout.SOUTH);
panelDibujo = new MiPanel();
add(panelDibujo, BorderLayout.CENTER);
setSize(500, 300);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
private void setLayout(BorderLayout borderLayout) {
}
private class ManejadoraActionEvents implements ActionListener {
@Override
public void actionPerformed(ActionEvent ae) {
if (ae.getSource() == btn1) {
panelDibujo.dibujaPol();
} else if (ae.getSource() == btn2) {
panelDibujo.dibujaOvalo();
} else if (ae.getSource() == btn3) {
panelDibujo.dibujaArco();
} else if (ae.getSource() == btn4) {
panelDibujo.dibujaImagen();
15
15
}
}
}
}
BIBLIOGRAFIA
• Luis Joyanes Aguilar, Programación En C/C++Java Y Uml, 1, Mcgraw Hill,
 México, 2010
• John Dean, Introducción A La Programación Con Java, 1, Mcgraw Hill, México,
 2009
 •Deitel Y Deitel, C / C++ Y Java Cómo Programar, 4ta Edición, Prentice Hall,
 México, 2004
• http://leo.ugr.es/J2ME/TOOLS/index.html
•

Más contenido relacionado

La actualidad más candente (18)

Plan menus swing
Plan menus swingPlan menus swing
Plan menus swing
 
Secuencias de actividades
Secuencias de actividadesSecuencias de actividades
Secuencias de actividades
 
Guia n1 tam 2009 1
Guia n1 tam 2009 1Guia n1 tam 2009 1
Guia n1 tam 2009 1
 
Jclic 5
Jclic 5Jclic 5
Jclic 5
 
12swing gui
12swing gui12swing gui
12swing gui
 
Iniciación al netop school
Iniciación al netop schoolIniciación al netop school
Iniciación al netop school
 
Ver y no_ver_(informe_21)
Ver y no_ver_(informe_21)Ver y no_ver_(informe_21)
Ver y no_ver_(informe_21)
 
Swing1
Swing1Swing1
Swing1
 
Auto play
Auto playAuto play
Auto play
 
19 por
19 por19 por
19 por
 
Manual de scratch
Manual de scratchManual de scratch
Manual de scratch
 
Voisual
VoisualVoisual
Voisual
 
Laptop xosecundariascratch
Laptop xosecundariascratchLaptop xosecundariascratch
Laptop xosecundariascratch
 
19
1919
19
 
Fundamentos.net-Guia n1 2012
Fundamentos.net-Guia n1 2012Fundamentos.net-Guia n1 2012
Fundamentos.net-Guia n1 2012
 
Unid 4 tema 4
Unid 4  tema 4Unid 4  tema 4
Unid 4 tema 4
 
Practicas 3
Practicas 3Practicas 3
Practicas 3
 
Visual basic.docx
Visual basic.docxVisual basic.docx
Visual basic.docx
 

Destacado

CreacióN De Una Interfaz GráFica Del Usuario(Gui)
CreacióN De Una Interfaz GráFica Del Usuario(Gui)CreacióN De Una Interfaz GráFica Del Usuario(Gui)
CreacióN De Una Interfaz GráFica Del Usuario(Gui)Arturo Salinas
 
Unidad 3 topicos avanzados de programacion
Unidad 3 topicos avanzados de programacionUnidad 3 topicos avanzados de programacion
Unidad 3 topicos avanzados de programacionIrving Che
 
Manejo de eventos en java
Manejo de eventos en javaManejo de eventos en java
Manejo de eventos en javaaleja09_40
 
Interfaces visuales
Interfaces visualesInterfaces visuales
Interfaces visualesinfobran
 
Windows presentation foundation (wpf)
Windows presentation foundation (wpf)Windows presentation foundation (wpf)
Windows presentation foundation (wpf)janinaplaza
 
GUI historia y evolucion (Hasta el 2008)
GUI historia y evolucion (Hasta el 2008)GUI historia y evolucion (Hasta el 2008)
GUI historia y evolucion (Hasta el 2008)Martwitter Urias
 
M4 4.3 Actividad 1. Tabla comparativa de instrumentos de evaluacion
M4 4.3 Actividad 1. Tabla comparativa de instrumentos de evaluacionM4 4.3 Actividad 1. Tabla comparativa de instrumentos de evaluacion
M4 4.3 Actividad 1. Tabla comparativa de instrumentos de evaluacionJosé Antonio Sandoval Acosta
 
Cuadro comparativo de herramientas de programacion eclipse, java
Cuadro comparativo de herramientas de programacion eclipse, javaCuadro comparativo de herramientas de programacion eclipse, java
Cuadro comparativo de herramientas de programacion eclipse, javaCCCRiis
 
Diseño y validacion GUI con java usando Netbeans
Diseño y validacion GUI con java usando NetbeansDiseño y validacion GUI con java usando Netbeans
Diseño y validacion GUI con java usando NetbeansEmerson Garay
 
Unidad 2 tópicos avanzados de programacion
Unidad 2 tópicos avanzados de programacionUnidad 2 tópicos avanzados de programacion
Unidad 2 tópicos avanzados de programacionIrving Che
 
Topicos Avanzados de Programacion - Unidad 2 GUI Interfaz Grafica de Usuario
Topicos Avanzados de Programacion - Unidad 2 GUI Interfaz Grafica de UsuarioTopicos Avanzados de Programacion - Unidad 2 GUI Interfaz Grafica de Usuario
Topicos Avanzados de Programacion - Unidad 2 GUI Interfaz Grafica de UsuarioJosé Antonio Sandoval Acosta
 

Destacado (20)

CreacióN De Una Interfaz GráFica Del Usuario(Gui)
CreacióN De Una Interfaz GráFica Del Usuario(Gui)CreacióN De Una Interfaz GráFica Del Usuario(Gui)
CreacióN De Una Interfaz GráFica Del Usuario(Gui)
 
Unidad 3 topicos avanzados de programacion
Unidad 3 topicos avanzados de programacionUnidad 3 topicos avanzados de programacion
Unidad 3 topicos avanzados de programacion
 
Eventos en Java
Eventos en JavaEventos en Java
Eventos en Java
 
Manejo de eventos en java
Manejo de eventos en javaManejo de eventos en java
Manejo de eventos en java
 
Interfaces visuales
Interfaces visualesInterfaces visuales
Interfaces visuales
 
Windows presentation foundation (wpf)
Windows presentation foundation (wpf)Windows presentation foundation (wpf)
Windows presentation foundation (wpf)
 
Java beans
Java beansJava beans
Java beans
 
GUI historia y evolucion (Hasta el 2008)
GUI historia y evolucion (Hasta el 2008)GUI historia y evolucion (Hasta el 2008)
GUI historia y evolucion (Hasta el 2008)
 
Elementos Swing
Elementos SwingElementos Swing
Elementos Swing
 
Java.sql.*
Java.sql.*Java.sql.*
Java.sql.*
 
Sesion12-componentes Visuales java
Sesion12-componentes Visuales javaSesion12-componentes Visuales java
Sesion12-componentes Visuales java
 
3.creacion de componentes visuales
3.creacion de componentes visuales3.creacion de componentes visuales
3.creacion de componentes visuales
 
M4 4.3 Actividad 1. Tabla comparativa de instrumentos de evaluacion
M4 4.3 Actividad 1. Tabla comparativa de instrumentos de evaluacionM4 4.3 Actividad 1. Tabla comparativa de instrumentos de evaluacion
M4 4.3 Actividad 1. Tabla comparativa de instrumentos de evaluacion
 
Cuadro comparativo de herramientas de programacion eclipse, java
Cuadro comparativo de herramientas de programacion eclipse, javaCuadro comparativo de herramientas de programacion eclipse, java
Cuadro comparativo de herramientas de programacion eclipse, java
 
Windows.forms.ejercicios
Windows.forms.ejerciciosWindows.forms.ejercicios
Windows.forms.ejercicios
 
Diseño y validacion GUI con java usando Netbeans
Diseño y validacion GUI con java usando NetbeansDiseño y validacion GUI con java usando Netbeans
Diseño y validacion GUI con java usando Netbeans
 
LibreríAs De Java
LibreríAs De JavaLibreríAs De Java
LibreríAs De Java
 
Unidad 2 tópicos avanzados de programacion
Unidad 2 tópicos avanzados de programacionUnidad 2 tópicos avanzados de programacion
Unidad 2 tópicos avanzados de programacion
 
Topicos Avanzados de Programacion - Unidad 2 GUI Interfaz Grafica de Usuario
Topicos Avanzados de Programacion - Unidad 2 GUI Interfaz Grafica de UsuarioTopicos Avanzados de Programacion - Unidad 2 GUI Interfaz Grafica de Usuario
Topicos Avanzados de Programacion - Unidad 2 GUI Interfaz Grafica de Usuario
 
Tópicos Avanzados de Programación - Unidad 1 GUI
Tópicos Avanzados de Programación - Unidad 1 GUITópicos Avanzados de Programación - Unidad 1 GUI
Tópicos Avanzados de Programación - Unidad 1 GUI
 

Similar a inv unidad 1 topicos avanzados de programacion

Similar a inv unidad 1 topicos avanzados de programacion (20)

Event Programing & Driven Mediator Pattern
Event Programing & Driven Mediator PatternEvent Programing & Driven Mediator Pattern
Event Programing & Driven Mediator Pattern
 
Java event
Java eventJava event
Java event
 
Clase event
Clase eventClase event
Clase event
 
6.eventos y swing
6.eventos y swing6.eventos y swing
6.eventos y swing
 
6.eventos y swing
6.eventos y swing6.eventos y swing
6.eventos y swing
 
Control de eventos en gui
Control de eventos en guiControl de eventos en gui
Control de eventos en gui
 
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
 
6.eventos y swing
6.eventos y swing6.eventos y swing
6.eventos y swing
 
2TAP Tema 1-Eventos.pptx
2TAP Tema 1-Eventos.pptx2TAP Tema 1-Eventos.pptx
2TAP Tema 1-Eventos.pptx
 
TAP - Eventos
TAP - EventosTAP - Eventos
TAP - Eventos
 
Manejo De Eventos En Cs3
Manejo De Eventos En Cs3Manejo De Eventos En Cs3
Manejo De Eventos En Cs3
 
Interfaz gráfica de usuario
Interfaz gráfica de usuarioInterfaz gráfica de usuario
Interfaz gráfica de usuario
 
Eventos
EventosEventos
Eventos
 
Reporte de Practica de programación visual
Reporte de Practica de programación visualReporte de Practica de programación visual
Reporte de Practica de programación visual
 
Eventos
EventosEventos
Eventos
 
Formulacion programa metodologia marco logico
Formulacion programa metodologia marco logicoFormulacion programa metodologia marco logico
Formulacion programa metodologia marco logico
 
Eventos
EventosEventos
Eventos
 
Exposicion eventos
Exposicion eventosExposicion eventos
Exposicion eventos
 
Adrian eventos
Adrian eventosAdrian eventos
Adrian eventos
 
Gui
GuiGui
Gui
 

Más de Anel Sosa

Codigo Visual Studio: Galeria de imagenes
Codigo Visual Studio: Galeria de imagenesCodigo Visual Studio: Galeria de imagenes
Codigo Visual Studio: Galeria de imagenesAnel Sosa
 
Comandos sql
Comandos sql Comandos sql
Comandos sql Anel Sosa
 
Codigo ensamblador
Codigo ensamblador Codigo ensamblador
Codigo ensamblador Anel Sosa
 
INVESTIGACION “SOLUCION DE SISTEMAS DE ECUACIONES: METODO DE JACOBY”
INVESTIGACION “SOLUCION DE SISTEMAS DE ECUACIONES: METODO DE JACOBY”INVESTIGACION “SOLUCION DE SISTEMAS DE ECUACIONES: METODO DE JACOBY”
INVESTIGACION “SOLUCION DE SISTEMAS DE ECUACIONES: METODO DE JACOBY”Anel Sosa
 
APLICACIONES DE LAS ECUACIONES DIFERENCIALES
APLICACIONES DE LAS ECUACIONES DIFERENCIALESAPLICACIONES DE LAS ECUACIONES DIFERENCIALES
APLICACIONES DE LAS ECUACIONES DIFERENCIALESAnel Sosa
 
SISTEMA OPERATIVOS
SISTEMA OPERATIVOSSISTEMA OPERATIVOS
SISTEMA OPERATIVOSAnel Sosa
 
INVESTIGACIÓN DE CHIPSET
INVESTIGACIÓN DE CHIPSET INVESTIGACIÓN DE CHIPSET
INVESTIGACIÓN DE CHIPSET Anel Sosa
 
Metodologia incremental
Metodologia incrementalMetodologia incremental
Metodologia incrementalAnel Sosa
 
Paradigmas de programacion
Paradigmas de programacion Paradigmas de programacion
Paradigmas de programacion Anel Sosa
 
Escenario socioeconomico
Escenario socioeconomicoEscenario socioeconomico
Escenario socioeconomicoAnel Sosa
 
Investigacion calculo derivadas e integrales
Investigacion calculo derivadas e integralesInvestigacion calculo derivadas e integrales
Investigacion calculo derivadas e integralesAnel Sosa
 
Lenguajes de simulacion
Lenguajes de simulacionLenguajes de simulacion
Lenguajes de simulacionAnel Sosa
 
maquinas de turing jflap
maquinas de turing jflapmaquinas de turing jflap
maquinas de turing jflapAnel Sosa
 
Panuco Veracruz
Panuco Veracruz Panuco Veracruz
Panuco Veracruz Anel Sosa
 
que es un Curriculum
que es un Curriculumque es un Curriculum
que es un CurriculumAnel Sosa
 
maquinas de turing
maquinas de turingmaquinas de turing
maquinas de turingAnel Sosa
 
automatas finitos
 automatas finitos automatas finitos
automatas finitosAnel Sosa
 
Programa expresiones regulares
Programa expresiones regularesPrograma expresiones regulares
Programa expresiones regularesAnel Sosa
 
ESPRESIONES REGULARES
ESPRESIONES REGULARESESPRESIONES REGULARES
ESPRESIONES REGULARESAnel Sosa
 

Más de Anel Sosa (20)

Codigo Visual Studio: Galeria de imagenes
Codigo Visual Studio: Galeria de imagenesCodigo Visual Studio: Galeria de imagenes
Codigo Visual Studio: Galeria de imagenes
 
Comandos sql
Comandos sql Comandos sql
Comandos sql
 
Codigo ensamblador
Codigo ensamblador Codigo ensamblador
Codigo ensamblador
 
INVESTIGACION “SOLUCION DE SISTEMAS DE ECUACIONES: METODO DE JACOBY”
INVESTIGACION “SOLUCION DE SISTEMAS DE ECUACIONES: METODO DE JACOBY”INVESTIGACION “SOLUCION DE SISTEMAS DE ECUACIONES: METODO DE JACOBY”
INVESTIGACION “SOLUCION DE SISTEMAS DE ECUACIONES: METODO DE JACOBY”
 
APLICACIONES DE LAS ECUACIONES DIFERENCIALES
APLICACIONES DE LAS ECUACIONES DIFERENCIALESAPLICACIONES DE LAS ECUACIONES DIFERENCIALES
APLICACIONES DE LAS ECUACIONES DIFERENCIALES
 
SISTEMA OPERATIVOS
SISTEMA OPERATIVOSSISTEMA OPERATIVOS
SISTEMA OPERATIVOS
 
INVESTIGACIÓN DE CHIPSET
INVESTIGACIÓN DE CHIPSET INVESTIGACIÓN DE CHIPSET
INVESTIGACIÓN DE CHIPSET
 
SIMMAN 3G
SIMMAN 3GSIMMAN 3G
SIMMAN 3G
 
Metodologia incremental
Metodologia incrementalMetodologia incremental
Metodologia incremental
 
Paradigmas de programacion
Paradigmas de programacion Paradigmas de programacion
Paradigmas de programacion
 
Escenario socioeconomico
Escenario socioeconomicoEscenario socioeconomico
Escenario socioeconomico
 
Investigacion calculo derivadas e integrales
Investigacion calculo derivadas e integralesInvestigacion calculo derivadas e integrales
Investigacion calculo derivadas e integrales
 
Lenguajes de simulacion
Lenguajes de simulacionLenguajes de simulacion
Lenguajes de simulacion
 
maquinas de turing jflap
maquinas de turing jflapmaquinas de turing jflap
maquinas de turing jflap
 
Panuco Veracruz
Panuco Veracruz Panuco Veracruz
Panuco Veracruz
 
que es un Curriculum
que es un Curriculumque es un Curriculum
que es un Curriculum
 
maquinas de turing
maquinas de turingmaquinas de turing
maquinas de turing
 
automatas finitos
 automatas finitos automatas finitos
automatas finitos
 
Programa expresiones regulares
Programa expresiones regularesPrograma expresiones regulares
Programa expresiones regulares
 
ESPRESIONES REGULARES
ESPRESIONES REGULARESESPRESIONES REGULARES
ESPRESIONES REGULARES
 

Último

Topografía 1 Nivelación y Carretera en la Ingenierías
Topografía 1 Nivelación y Carretera en la IngenieríasTopografía 1 Nivelación y Carretera en la Ingenierías
Topografía 1 Nivelación y Carretera en la IngenieríasSegundo Silva Maguiña
 
trabajos en altura 2024, sistemas de contencion anticaidas
trabajos en altura 2024, sistemas de contencion anticaidastrabajos en altura 2024, sistemas de contencion anticaidas
trabajos en altura 2024, sistemas de contencion anticaidasNelsonQuispeQuispitu
 
Espontaneidad de las reacciones y procesos espontáneos
Espontaneidad de las reacciones y procesos espontáneosEspontaneidad de las reacciones y procesos espontáneos
Espontaneidad de las reacciones y procesos espontáneosOscarGonzalez231938
 
Electricidad y electronica industrial unidad 1
Electricidad y electronica industrial unidad 1Electricidad y electronica industrial unidad 1
Electricidad y electronica industrial unidad 1victorrodrigues972054
 
Edificio residencial Tarsia de AEDAS Homes Granada
Edificio residencial Tarsia de AEDAS Homes GranadaEdificio residencial Tarsia de AEDAS Homes Granada
Edificio residencial Tarsia de AEDAS Homes GranadaANDECE
 
SOLIDOS DE REVOLUCION, aplicaciones de integrales definidas
SOLIDOS DE REVOLUCION, aplicaciones de integrales definidasSOLIDOS DE REVOLUCION, aplicaciones de integrales definidas
SOLIDOS DE REVOLUCION, aplicaciones de integrales definidasLeonardoMendozaDvila
 
Flujo potencial, conceptos básicos y ejemplos resueltos.
Flujo potencial, conceptos básicos y ejemplos resueltos.Flujo potencial, conceptos básicos y ejemplos resueltos.
Flujo potencial, conceptos básicos y ejemplos resueltos.ALEJANDROLEONGALICIA
 
Trabajo en altura de acuerdo a la normativa peruana
Trabajo en altura de acuerdo a la normativa peruanaTrabajo en altura de acuerdo a la normativa peruana
Trabajo en altura de acuerdo a la normativa peruana5extraviado
 
SEMANA 6 MEDIDAS DE TENDENCIA CENTRAL.pdf
SEMANA  6 MEDIDAS DE TENDENCIA CENTRAL.pdfSEMANA  6 MEDIDAS DE TENDENCIA CENTRAL.pdf
SEMANA 6 MEDIDAS DE TENDENCIA CENTRAL.pdffredyflores58
 
Fijaciones de balcones prefabricados de hormigón - RECENSE
Fijaciones de balcones prefabricados de hormigón - RECENSEFijaciones de balcones prefabricados de hormigón - RECENSE
Fijaciones de balcones prefabricados de hormigón - RECENSEANDECE
 
Sistema de Base de Datos (Rubén Alberto)
Sistema de Base de Datos (Rubén Alberto)Sistema de Base de Datos (Rubén Alberto)
Sistema de Base de Datos (Rubén Alberto)mendezruben1901
 
MEC. FLUIDOS - Análisis Diferencial del Movimiento de un Fluido -GRUPO5 sergi...
MEC. FLUIDOS - Análisis Diferencial del Movimiento de un Fluido -GRUPO5 sergi...MEC. FLUIDOS - Análisis Diferencial del Movimiento de un Fluido -GRUPO5 sergi...
MEC. FLUIDOS - Análisis Diferencial del Movimiento de un Fluido -GRUPO5 sergi...Arquitecto Alejandro Gomez cornejo muñoz
 
CFRD simplified sequence for Mazar Hydroelectric Project
CFRD simplified sequence for Mazar Hydroelectric ProjectCFRD simplified sequence for Mazar Hydroelectric Project
CFRD simplified sequence for Mazar Hydroelectric ProjectCarlos Delgado
 
LEYES DE EXPONENTES SEMANA 1 CESAR VALLEJO.pdf
LEYES DE EXPONENTES SEMANA 1 CESAR VALLEJO.pdfLEYES DE EXPONENTES SEMANA 1 CESAR VALLEJO.pdf
LEYES DE EXPONENTES SEMANA 1 CESAR VALLEJO.pdfAdelaHerrera9
 
Diagrama de flujo metalurgia del cobre..pptx
Diagrama de flujo metalurgia del cobre..pptxDiagrama de flujo metalurgia del cobre..pptx
Diagrama de flujo metalurgia del cobre..pptxHarryArmandoLazaroBa
 
Estacionamientos, Existen 3 tipos, y tienen diferentes ángulos de inclinación
Estacionamientos, Existen 3 tipos, y tienen diferentes ángulos de inclinaciónEstacionamientos, Existen 3 tipos, y tienen diferentes ángulos de inclinación
Estacionamientos, Existen 3 tipos, y tienen diferentes ángulos de inclinaciónAlexisHernandez885688
 
Electromagnetismo Fisica FisicaFisica.pdf
Electromagnetismo Fisica FisicaFisica.pdfElectromagnetismo Fisica FisicaFisica.pdf
Electromagnetismo Fisica FisicaFisica.pdfAnonymous0pBRsQXfnx
 
Peligros de Excavaciones y Zanjas presentacion
Peligros de Excavaciones y Zanjas presentacionPeligros de Excavaciones y Zanjas presentacion
Peligros de Excavaciones y Zanjas presentacionOsdelTacusiPancorbo
 
5.1 MATERIAL COMPLEMENTARIO Sesión 02.pptx
5.1 MATERIAL COMPLEMENTARIO Sesión 02.pptx5.1 MATERIAL COMPLEMENTARIO Sesión 02.pptx
5.1 MATERIAL COMPLEMENTARIO Sesión 02.pptxNayeliZarzosa1
 

Último (20)

Topografía 1 Nivelación y Carretera en la Ingenierías
Topografía 1 Nivelación y Carretera en la IngenieríasTopografía 1 Nivelación y Carretera en la Ingenierías
Topografía 1 Nivelación y Carretera en la Ingenierías
 
trabajos en altura 2024, sistemas de contencion anticaidas
trabajos en altura 2024, sistemas de contencion anticaidastrabajos en altura 2024, sistemas de contencion anticaidas
trabajos en altura 2024, sistemas de contencion anticaidas
 
Espontaneidad de las reacciones y procesos espontáneos
Espontaneidad de las reacciones y procesos espontáneosEspontaneidad de las reacciones y procesos espontáneos
Espontaneidad de las reacciones y procesos espontáneos
 
Electricidad y electronica industrial unidad 1
Electricidad y electronica industrial unidad 1Electricidad y electronica industrial unidad 1
Electricidad y electronica industrial unidad 1
 
Edificio residencial Tarsia de AEDAS Homes Granada
Edificio residencial Tarsia de AEDAS Homes GranadaEdificio residencial Tarsia de AEDAS Homes Granada
Edificio residencial Tarsia de AEDAS Homes Granada
 
SOLIDOS DE REVOLUCION, aplicaciones de integrales definidas
SOLIDOS DE REVOLUCION, aplicaciones de integrales definidasSOLIDOS DE REVOLUCION, aplicaciones de integrales definidas
SOLIDOS DE REVOLUCION, aplicaciones de integrales definidas
 
Flujo potencial, conceptos básicos y ejemplos resueltos.
Flujo potencial, conceptos básicos y ejemplos resueltos.Flujo potencial, conceptos básicos y ejemplos resueltos.
Flujo potencial, conceptos básicos y ejemplos resueltos.
 
Trabajo en altura de acuerdo a la normativa peruana
Trabajo en altura de acuerdo a la normativa peruanaTrabajo en altura de acuerdo a la normativa peruana
Trabajo en altura de acuerdo a la normativa peruana
 
SEMANA 6 MEDIDAS DE TENDENCIA CENTRAL.pdf
SEMANA  6 MEDIDAS DE TENDENCIA CENTRAL.pdfSEMANA  6 MEDIDAS DE TENDENCIA CENTRAL.pdf
SEMANA 6 MEDIDAS DE TENDENCIA CENTRAL.pdf
 
Fijaciones de balcones prefabricados de hormigón - RECENSE
Fijaciones de balcones prefabricados de hormigón - RECENSEFijaciones de balcones prefabricados de hormigón - RECENSE
Fijaciones de balcones prefabricados de hormigón - RECENSE
 
Sistema de Base de Datos (Rubén Alberto)
Sistema de Base de Datos (Rubén Alberto)Sistema de Base de Datos (Rubén Alberto)
Sistema de Base de Datos (Rubén Alberto)
 
MEC. FLUIDOS - Análisis Diferencial del Movimiento de un Fluido -GRUPO5 sergi...
MEC. FLUIDOS - Análisis Diferencial del Movimiento de un Fluido -GRUPO5 sergi...MEC. FLUIDOS - Análisis Diferencial del Movimiento de un Fluido -GRUPO5 sergi...
MEC. FLUIDOS - Análisis Diferencial del Movimiento de un Fluido -GRUPO5 sergi...
 
CFRD simplified sequence for Mazar Hydroelectric Project
CFRD simplified sequence for Mazar Hydroelectric ProjectCFRD simplified sequence for Mazar Hydroelectric Project
CFRD simplified sequence for Mazar Hydroelectric Project
 
LEYES DE EXPONENTES SEMANA 1 CESAR VALLEJO.pdf
LEYES DE EXPONENTES SEMANA 1 CESAR VALLEJO.pdfLEYES DE EXPONENTES SEMANA 1 CESAR VALLEJO.pdf
LEYES DE EXPONENTES SEMANA 1 CESAR VALLEJO.pdf
 
Diagrama de flujo metalurgia del cobre..pptx
Diagrama de flujo metalurgia del cobre..pptxDiagrama de flujo metalurgia del cobre..pptx
Diagrama de flujo metalurgia del cobre..pptx
 
Estacionamientos, Existen 3 tipos, y tienen diferentes ángulos de inclinación
Estacionamientos, Existen 3 tipos, y tienen diferentes ángulos de inclinaciónEstacionamientos, Existen 3 tipos, y tienen diferentes ángulos de inclinación
Estacionamientos, Existen 3 tipos, y tienen diferentes ángulos de inclinación
 
MATPEL COMPLETO DESDE NIVEL I AL III.pdf
MATPEL COMPLETO DESDE NIVEL I AL III.pdfMATPEL COMPLETO DESDE NIVEL I AL III.pdf
MATPEL COMPLETO DESDE NIVEL I AL III.pdf
 
Electromagnetismo Fisica FisicaFisica.pdf
Electromagnetismo Fisica FisicaFisica.pdfElectromagnetismo Fisica FisicaFisica.pdf
Electromagnetismo Fisica FisicaFisica.pdf
 
Peligros de Excavaciones y Zanjas presentacion
Peligros de Excavaciones y Zanjas presentacionPeligros de Excavaciones y Zanjas presentacion
Peligros de Excavaciones y Zanjas presentacion
 
5.1 MATERIAL COMPLEMENTARIO Sesión 02.pptx
5.1 MATERIAL COMPLEMENTARIO Sesión 02.pptx5.1 MATERIAL COMPLEMENTARIO Sesión 02.pptx
5.1 MATERIAL COMPLEMENTARIO Sesión 02.pptx
 

inv unidad 1 topicos avanzados de programacion

  • 1. 2016 Anel Verónica Sosa Mejía Tópicos avanzados de Programación 18-2-2016 Unidad 1 EVENTOS
  • 2. 1 1 Contenido EVENTOS...........................................................................................2 1.1 Tipos de eventos Eventos de bajo nivel....................................2 Eventos semánticos.....................................................................3 Generación y propagación de eventos...........................................4 Métodos de control de eventos.....................................................4 Creación de eventos.......................................................................6 EJEMPLO DE CREACION DE EVENTOS: ..............................................7 BIBLIOGRAFIA .................................................................................15
  • 3. 2 2 EVENTOS Objetivo: Resolver problemas utilizando programación de eventos. Un evento es la notificación que hace un elemento gráfico cuando el usuario interactúa con él. Por lo tanto, si se realiza alguna acción sobre algún elemento de la interfaz, se dice que se ha generado un evento en dicho elemento. Tipos de eventos Eventos de bajo nivel Representan entradas o interacciones de bajo nivel con elementos del interfaz gráfico (Cambio de tamaño, cambio del foco, operación con el ratón o con el teclado). Tabla 1Lista de eventos de bajo nivel: Ilustración 1 Ejemplo de KeyEvent Ilustración 2 ejemplo de MouseEvent
  • 4. 3 3 Eventos semánticos. Eventos de alto nivel que encapsulan la semántica del modelo de componentes del interfaz de usuario (Hacer una acción, un cambio de estado en un elemento, etc.). No están relacionados con una clase específica de componente sino que pueden aplicarse a todos los componentes que implementen un modelo semántico similar. Tabla 2 Ilustración 3ELEMENTOS SELECCIONADOS ILUSTRACIÓN 3CAMBIOS EN LA SELCCION ACTUAL DE UNA LISTA
  • 5. 4 4 Generación y propagación de eventos. El paquete java.awt.event es el que contiene la mayor parte de las clases e interfaces de eventos. El modelo de delegación de eventos es un concepto que trabaja de la siguiente manera: Una fuente genera un evento y lo envía a uno a más oyentes o auditores, que han estado simplemente esperando hasta que reciben ese evento y una vez recibido lo procesan y lo devuelven. Una fuente es un objeto que genera un evento. Esto ocurre cuando cambia de alguna manera el estado interno de ese objeto. Las fuentes pueden generar más de un tipo de eventos. Una fuente tiene que ir acompañada de auditores para que estos reciban las notificaciones sobre el tipo específico de evento, cada tipo de evento tiene su propio método de registro. Un auditor es un objeto que es avisado cuando ocurre un evento. Tiene dos requisitos principales. Primero tiene que ser registrado o ir acompañado por una o más fuentes para recibir notificaciones sobre los tipos específicos de eventos. Segundo, tiene que implementar métodos para recibir y procesar notificaciones. Métodos de control de eventos. Ejemplos de componentes que pueden generar eventos: Button. Genera eventos de acción (ActionEvent) cuando se presiona el botón. Checkbox. Genera eventos de elementos (ItemEvent) cuando se selecciona o deselecciona un checkbox. Choice. Genera eventos de elementos cuando se cambia de opción choice. List. Genera eventos de acción cuando se hace doble click sobre un elemento, genera eventos de elemento cuando se selecciona o deselecciona un elemento. Ilustración 4ActionEvent
  • 6. 5 5 Menu Item. Genera eventos de acción cuando se selecciona un elemento de menú; genera eventos del elemento cuando se selecciona o se deselecciona un elemento de un menú de opciones. Scrollbar. Genera eventos de ajuste (AdjustmentEvent) Cuando se manipula el scrollbar. Text components. Genera eventos de texto (TextEvent) cuando el usuario introduce un carácter. Window. Genera eventos de ventana (WindowEvent) cuando una ventana se activa, Se cierra, se desactiva, se minimiza, se maximiza , se abre o se sale de ella. Ilustración 5Ejemplo de scroll bars Ilustración 6Ejemplo de ventanas
  • 7. 6 6 Creación de eventos. Para la creación de eventos es necesario definir sobre que componente se desea crear dicho evento. Tabla 3Clases de eventos principales en java.awt.event
  • 8. 7 7 EJEMPLO DE CREACION DE EVENTOS: Trata de un JPanel donde puse 4 JButon cada que se le aplana a un boton debe de dibujar en el panel central su respectivo dibujo esto gracias a un BorderLayout pude poner los botones en el sur y un panel de dibujo en el centro para poder mandar a llamar cada metodo , en cada boton , necesite una clase privada en la clase de Aplicacion llamada manejadora de action events ala que se le implementa un actionlistener que es el encargado de recibir la accion , guardarla y esperar a que me pida ejecutarla n cada boton
  • 9. 8 8
  • 10. 9 9 package practica2; public class Practica2{ public static void main(String[] args) { Aplicacion aplicacion=new Aplicacion(); } } package practica2; import java.awt.Color; import java.awt.Graphics; import java.awt.Image; import java.awt.Toolkit; import javax.swing.JPanel; public class MiPanel extends JPanel { String Poligono, Ovalo, Arco, Imagen; int xPoints[] = new int[4]; int yPoints[] = new int[4]; int x; int y; Image img; int width; int height; int startAngle;
  • 11. 10 10 int arcAngle; int ancho; int alto; public void limpiar() { x = 0; y = 0; img = null; width = 0; height = 0; startAngle = 0; arcAngle = 0; ancho = 0; alto = 0; xPoints[0] = 0; xPoints[1] = 0; xPoints[2] = 0; xPoints[3] = 0; yPoints[0] = 0; yPoints[1] = 0; yPoints[2] = 0; yPoints[3] = 0; } public MiPanel() { setBackground(Color.RED); }
  • 12. 11 11 void dibujaPol() { limpiar(); xPoints[0] = getWidth() / 4; xPoints[1] = (getWidth() / 4) * 3; xPoints[2] = (getWidth() / 4) * 3; xPoints[3] = (getWidth() / 4); yPoints[0] = getHeight() / 4; yPoints[1] = getHeight() / 4; yPoints[2] = (getHeight() / 4) * 3; yPoints[3] = (getHeight() / 4) * 3; repaint(); } void dibujaOvalo() { limpiar(); x = 0; y = this.getHeight()/4 ; ancho = this.getWidth(); alto = this.getHeight() / 2; repaint(); } void dibujaArco() { limpiar(); width = 250;
  • 13. 12 12 height = 200; startAngle = 65; arcAngle = 90; repaint(); } void dibujaImagen() { limpiar(); img = Toolkit.getDefaultToolkit().getImage("imagen.jpg"); repaint(); } @Override public void paintComponent(Graphics g) { super.paintComponent(g); g.fillPolygon(xPoints, yPoints, 4); g.setColor(Color.ORANGE); g.fillOval(x,y, ancho,alto); g.setColor(Color.GREEN); g.fillArc(this.getWidth() / 2, this.getHeight() / 2, width, height, startAngle, arcAngle); g.setColor(Color.BLACK); g.drawImage(img, 0, 0, this.getWidth(), this.getHeight(), this); } } package practica2; import java.awt.BorderLayout; import java.awt.FlowLayout;
  • 14. 13 13 import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; public class Aplicacion extends JFrame { JButton btn1, btn2, btn3, btn4; JPanel panelBotones; MiPanel panelDibujo; public Aplicacion() { setLayout(new BorderLayout()); ManejadoraActionEvents manejador = new ManejadoraActionEvents(); btn1 = new JButton("Poligono"); btn2 = new JButton("Ovalo"); btn3 = new JButton("Arco"); btn4 = new JButton("Imagen"); btn1.addActionListener(manejador); btn2.addActionListener(manejador); btn3.addActionListener(manejador); btn4.addActionListener(manejador); panelBotones = new JPanel(); panelBotones.setLayout(new FlowLayout()); panelBotones.add(btn1); panelBotones.add(btn2);
  • 15. 14 14 panelBotones.add(btn3); panelBotones.add(btn4); add(panelBotones, BorderLayout.SOUTH); panelDibujo = new MiPanel(); add(panelDibujo, BorderLayout.CENTER); setSize(500, 300); setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); setVisible(true); } private void setLayout(BorderLayout borderLayout) { } private class ManejadoraActionEvents implements ActionListener { @Override public void actionPerformed(ActionEvent ae) { if (ae.getSource() == btn1) { panelDibujo.dibujaPol(); } else if (ae.getSource() == btn2) { panelDibujo.dibujaOvalo(); } else if (ae.getSource() == btn3) { panelDibujo.dibujaArco(); } else if (ae.getSource() == btn4) { panelDibujo.dibujaImagen();
  • 16. 15 15 } } } } BIBLIOGRAFIA • Luis Joyanes Aguilar, Programación En C/C++Java Y Uml, 1, Mcgraw Hill,  México, 2010 • John Dean, Introducción A La Programación Con Java, 1, Mcgraw Hill, México,  2009  •Deitel Y Deitel, C / C++ Y Java Cómo Programar, 4ta Edición, Prentice Hall,  México, 2004 • http://leo.ugr.es/J2ME/TOOLS/index.html •