28
1 M.C. Jos M.C. Jos é Juan Hern Juan Hernández Mora ndez Mora Universidad Aut Universidad Autónoma de noma de Tlaxcala Tlaxcala Introducci Introducción al lenguaje JAVA al lenguaje JAVA M.C M.C. Jos . José Juan Hern Juan Herná ndez Mora ndez Mora M.C. Jos M.C. Jos é Juan Hern Juan Hernández Mora ndez Mora Tercera Sesi Tercera Sesión 1. 1. Applets Applets en Java en Java l Estructura de un Estructura de un applet applet 2. 2. Gr Gráficos en Java ficos en Java l El paquete El paquete awt awt l neas neas l Rect Rectángulos ngulos l Óvalos valos l Arcos Arcos l Pol Polí gonos gonos 3. 3. Colores en Java Colores en Java 4. 4. Animaciones sencillas Animaciones sencillas 5. 5. Eventos del Rat Eventos del Ratón 6. 6. Eventos del Teclado Eventos del Teclado

Introducción al lenguaje JAVAjjhmora.mx.tripod.com/ses3java.pdfal lenguaje JAVA M.C. José Juan Hernández Mora M.C. JoséJuan Hernández Mora Tercera Sesión 1. Applets en Java l

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Introducción al lenguaje JAVAjjhmora.mx.tripod.com/ses3java.pdfal lenguaje JAVA M.C. José Juan Hernández Mora M.C. JoséJuan Hernández Mora Tercera Sesión 1. Applets en Java l

1

M.C. JosM.C. Joséé Juan HernJuan Hernáández Morandez Mora

Universidad AutUniversidad Autóónoma de noma de TlaxcalaTlaxcala

IntroducciIntroduccióónnal lenguaje JAVAal lenguaje JAVA

M.CM.C. Jos. Joséé Juan HernJuan Hernáández Morandez Mora

M.C. JosM.C. Joséé Juan HernJuan Hernáández Morandez Mora

Tercera SesiTercera Sesióónn

1.1. AppletsApplets en Javaen Javall Estructura de un Estructura de un appletapplet

2.2. GrGrááficos en Javaficos en Javall El paquete El paquete awtawtll LLííneasneasll RectRectáángulosngulosll ÓÓvalosvalosll ArcosArcosll PolPolíígonosgonos

3.3. Colores en JavaColores en Java4.4. Animaciones sencillasAnimaciones sencillas5.5. Eventos del RatEventos del Ratóónn6.6. Eventos del TecladoEventos del Teclado

Page 2: Introducción al lenguaje JAVAjjhmora.mx.tripod.com/ses3java.pdfal lenguaje JAVA M.C. José Juan Hernández Mora M.C. JoséJuan Hernández Mora Tercera Sesión 1. Applets en Java l

2

M.C. JosM.C. Joséé Juan HernJuan Hernáández Morandez Mora

AppletsApplets

ll Los Los appletsapplets son una de las son una de las particularidades de Java que contribuyen particularidades de Java que contribuyen a explicar su a explicar su ééxito. Permiten cargar a xito. Permiten cargar a travtravéés de la red una aplicacis de la red una aplicacióón n portableportableque se ejecuta en el navegador.que se ejecuta en el navegador.

M.C. JosM.C. Joséé Juan HernJuan Hernáández Morandez Mora

Diferencias entre Diferencias entre AppletsApplets y y AplicacionesAplicaciones

üü Programas individuales Programas individuales (suelen ser (suelen ser grandes)grandes)

üü Necesita un mNecesita un méétodo todo mainmain()()

üü Se ejecutan al utilizar el intSe ejecutan al utilizar el intéérprete rprete desde la ldesde la líínea de comandosnea de comandos

AplicacionesAplicacionesüü PequePequeñños programasos programas

üü No necesita un mNo necesita un méétodo todo mainmain()()

üü Se ejecutan desde un visualizador Se ejecutan desde un visualizador World Wide Web World Wide Web (se incluye en una (se incluye en una ppáágina Web con etiquetas del lenguaje HTML)gina Web con etiquetas del lenguaje HTML)

üü Es una subclase de la clase Es una subclase de la clase appletappletdel paquete del paquete java.appletjava.applet

AppletsApplets

Page 3: Introducción al lenguaje JAVAjjhmora.mx.tripod.com/ses3java.pdfal lenguaje JAVA M.C. José Juan Hernández Mora M.C. JoséJuan Hernández Mora Tercera Sesión 1. Applets en Java l

3

M.C. JosM.C. Joséé Juan HernJuan Hernáández Morandez Mora

EjecuciEjecucióón de n de AppletsApplets

AppleAppletsts

ServidorServidor

htmlIntermet Explorer

Mi primer Applet

ClienteCliente

Red

M.C. JosM.C. Joséé Juan HernJuan Hernáández Morandez Mora

Estructura de un Estructura de un AppletApplet

InicializaciInicializacióónnal cargar por primera vez el al cargar por primera vez el appletapplet

publicpublic voidvoidinitinit( )( ) {{------------------------------------------------------------}}

ArranqueArranquedespudespuéés de cargar y al seguir ligas a s de cargar y al seguir ligas a otras potras pááginasginas

publicpublic voidvoidstartstart( )( ) {{------------------------------------------------------------}}

Detenciónal seguir ligas a otras páginaspublic void stop( ) {------------------------------}

DespliegueDibujo de la ventana

public void paint( ) {------------------------------}

Page 4: Introducción al lenguaje JAVAjjhmora.mx.tripod.com/ses3java.pdfal lenguaje JAVA M.C. José Juan Hernández Mora M.C. JoséJuan Hernández Mora Tercera Sesión 1. Applets en Java l

4

M.C. JosM.C. Joséé Juan HernJuan Hernáández Morandez Mora

¿¿ CCóómo crear mo crear AppletsApplets ??

Incluir el paquete Incluir el paquete java.applet.Appletjava.applet.Applet

importimport java.applet.Appletjava.applet.Applet;;

nota: permite a su nota: permite a su appletapplet funcionar dentro del visualizador Web e incluirle funcionar dentro del visualizador Web e incluirle elementos GUIelementos GUI

M.C. JosM.C. Joséé Juan HernJuan Hernáández Morandez Mora

¿¿ CCóómo crear mo crear AppletsApplets ??

Definir una subclase de la clase Definir una subclase de la clase AppletApplet en el paquete en el paquete java.appletjava.applet..

PublicPublic classclass Bienvenida Bienvenida extendsextends java.applet.Appletjava.applet.Applet {{

----------------------------------------------------------------------------}}

nota: La clase y nota: La clase y appletapplet principal deben ser pprincipal deben ser púúblicas, cualquier clase blicas, cualquier clase auxiliar puede ser pauxiliar puede ser púública o privada.blica o privada.

Page 5: Introducción al lenguaje JAVAjjhmora.mx.tripod.com/ses3java.pdfal lenguaje JAVA M.C. José Juan Hernández Mora M.C. JoséJuan Hernández Mora Tercera Sesión 1. Applets en Java l

5

M.C. JosM.C. Joséé Juan HernJuan Hernáández Morandez Mora

¿¿ CCóómo crear mo crear AppletsApplets ??

Incluir los paquetes Incluir los paquetes java.awt.Graphicsjava.awt.Graphicsjava.awt.Fontjava.awt.Fontjava.awt.Colorjava.awt.Color

importimport java.awt.Graphicsjava.awt.Graphics;;importimport java.awt.Fontjava.awt.Font ;;importimport java.awt.Colorjava.awt.Color;;

Nota1: el paquete Nota1: el paquete java.awt.Graphicsjava.awt.Graphics permite crear instancias de permite crear instancias de objetosobjetosde tipode tipo grgrááficofico..Nota2: el paquete Nota2: el paquete java.awt.Fontjava.awt.Font permite permite configurarconfigurar la la fuentefuente de un objeto de un objeto grgrááfico.fico.Nota3: el paqueteNota3: el paquete java.awt.Colorjava.awt.Color permite permite configurarconfigurar el el colorcolor de un objeto de un objeto grgrááfico.fico.

M.C. JosM.C. Joséé Juan HernJuan Hernáández Morandez Mora

¿¿ CCóómo crear mo crear AppletsApplets ??

Utilizar la clase Utilizar la clase GraphicsGraphics del paquete del paquete java.awt.Graphicsjava.awt.Graphicspara crear una instancia llamada objeto. para crear una instancia llamada objeto.

publicpublic voidvoid paint(Graphicspaint(Graphics objeto) {objeto) {--------------------------------------------------------------------------------------------------------------------}}

Nota1: Utilizamos el mNota1: Utilizamos el méétodo paint() para dibujar el objeto grtodo paint() para dibujar el objeto grááfico creado, fico creado, despudespuéés de inicializar el s de inicializar el appletapplet, o bien, cada vez que el visualizador se , o bien, cada vez que el visualizador se coloca detrcoloca detráás de alguna ventana y luego es colocado al frente s de alguna ventana y luego es colocado al frente nuevamente.nuevamente.

4

Page 6: Introducción al lenguaje JAVAjjhmora.mx.tripod.com/ses3java.pdfal lenguaje JAVA M.C. José Juan Hernández Mora M.C. JoséJuan Hernández Mora Tercera Sesión 1. Applets en Java l

6

M.C. JosM.C. Joséé Juan HernJuan Hernáández Morandez Mora

¿¿ CCóómo incluir un mo incluir un AppletApplet en en una puna páágina Web ?gina Web ?

Crear una pCrear una páágina Web mediante el uso del lenguaje gina Web mediante el uso del lenguaje HTMLHTML

* utilice la etiqueta <HTML> para indicar donde iniciar* utilice la etiqueta <HTML> para indicar donde iniciaráá a a ejecutarse la pejecutarse la pááginagina

* utilice la etiqueta </HTML> para indicar el final de la * utilice la etiqueta </HTML> para indicar el final de la ppáágina Webgina Web

<HTML><HTML>--------------------------------------------------------------------------------------------------------------------</HTML></HTML>

nota: la pnota: la páágina debe guardarse con la extensigina debe guardarse con la extensióón *.n *.htmlhtml

M.C. JosM.C. Joséé Juan HernJuan Hernáández Morandez Mora

¿¿ CCóómo incluir un mo incluir un AppletApplet en en una puna páágina Web ?gina Web ?

Divida la pDivida la páágina en dos partes: la cabecera y el cuerpo:gina en dos partes: la cabecera y el cuerpo:

* utilice las etiquetas <HEAD> </HEAD>para indicar d* utilice las etiquetas <HEAD> </HEAD>para indicar dóónde nde iniciariniciaráá y finalizary finalizaráá la cabecerala cabecera

* utilice la etiquetas <BODY> </BODY> para indicar d* utilice la etiquetas <BODY> </BODY> para indicar dóónde nde iniciariniciaráá y finalizary finalizaráá el cuerpoel cuerpo

<HTML><HTML><HEAD><HEAD>----------------------------------------------------------------</HEAD></HEAD><BODY><BODY>----------------------------------------------------------------</BODY></BODY></HTML></HTML>

Page 7: Introducción al lenguaje JAVAjjhmora.mx.tripod.com/ses3java.pdfal lenguaje JAVA M.C. José Juan Hernández Mora M.C. JoséJuan Hernández Mora Tercera Sesión 1. Applets en Java l

7

M.C. JosM.C. Joséé Juan HernJuan Hernáández Morandez Mora

¿¿ CCóómo incluir un mo incluir un AppletApplet en en una puna páágina Web ?gina Web ?

Puede incluir un tPuede incluir un tíítulo a su ptulo a su páágina dentro de la cabecera:gina dentro de la cabecera:

* utilice las etiquetas <TITLE> </TITLE>para indicar d* utilice las etiquetas <TITLE> </TITLE>para indicar dóónde nde iniciariniciaráá y finalizary finalizaráá el tel tíítulotulo

<HTML><HTML><HEAD><HEAD><TITLE>Pagina Web de Bienvenida</TITLE><TITLE>Pagina Web de Bienvenida</TITLE></HEAD></HEAD><BODY><BODY>----------------------------------------------------------------</BODY></BODY></HTML></HTML>

M.C. JosM.C. Joséé Juan HernJuan Hernáández Morandez Mora

¿¿ CCóómo incluir un mo incluir un AppletApplet en una pen una páágina gina Web ?Web ?Incluya el Incluya el AppletApplet Bienvenida.classBienvenida.class, dentro del cuerpo de , dentro del cuerpo de

la pla páágina Web:gina Web:* utilice las etiquetas <APPLET> </APPLET>para indicar * utilice las etiquetas <APPLET> </APPLET>para indicar

ddóónde iniciarnde iniciaráá y finalizary finalizaráá la inclusila inclusióón del n del appletapplet..* utilice * utilice CODE=CODE=““nombre_applet.classnombre_applet.class”” para indicar el nombre para indicar el nombre

del applet a incluir.del applet a incluir.* utilice WIDTH y HEIGHT para indicar el ancho y alto del * utilice WIDTH y HEIGHT para indicar el ancho y alto del

applet a visualizar.applet a visualizar.<HTML><HTML>

<HEAD><HEAD><TITLE>Pagina Web de Bienvenida</TITLE><TITLE>Pagina Web de Bienvenida</TITLE></HEAD></HEAD><BODY><BODY><APPLET CODE=<APPLET CODE=““Bienvenida.classBienvenida.class”” WIDTH=200 HEIGHT=50>WIDTH=200 HEIGHT=50></APPLET></APPLET></BODY></BODY></HTML></HTML>nota: el applet debernota: el applet deberáá ser compilado por javac antes de ser incluser compilado por javac antes de ser incluíído en una do en una ppáágina Webgina Web

Page 8: Introducción al lenguaje JAVAjjhmora.mx.tripod.com/ses3java.pdfal lenguaje JAVA M.C. José Juan Hernández Mora M.C. JoséJuan Hernández Mora Tercera Sesión 1. Applets en Java l

8

M.C. JosM.C. Joséé Juan HernJuan Hernáández Morandez Mora

Puede ser Puede ser sufucientesufuciente

<APPLET <APPLET CODE=CODE=““hola.classhola.class”” WIDTH=200 HEIGHT=50>WIDTH=200 HEIGHT=50></APPLET></APPLET>

M.C. JosM.C. Joséé Juan HernJuan Hernáández Morandez Mora

Dibujar Cadenas en modo Dibujar Cadenas en modo graficografico

Dibujar una cadena: Dibujar una cadena:

g.drawStringg.drawString((““Hola Mundo!Hola Mundo!””,5,50);,5,50);

Nota1: se utiliza la fuente y el color configurados al Nota1: se utiliza la fuente y el color configurados al objeto para desplegar una cadena en la posiciobjeto para desplegar una cadena en la posicióón n (x=5, y=50).(x=5, y=50).

Page 9: Introducción al lenguaje JAVAjjhmora.mx.tripod.com/ses3java.pdfal lenguaje JAVA M.C. José Juan Hernández Mora M.C. JoséJuan Hernández Mora Tercera Sesión 1. Applets en Java l

9

M.C. JosM.C. Joséé Juan HernJuan Hernáández Morandez Mora

Primer Primer AppletApplet

importimport java.appletjava.applet.*; .*; importimport java.awtjava.awt.*;.*;publicpublic classclass Hola Hola extendsextends AppletApplet { {

publicpublic voidvoid paint(Graphicspaint(Graphics g) { g) { g.drawStringg.drawString("("HolaMundoHolaMundo!", 50, 25);!", 50, 25);

}}} }

M.C. JosM.C. Joséé Juan HernJuan Hernáández Morandez Mora

El El interfaz de usuario de Javainterfaz de usuario de Java

ll El El interfaz de usuariointerfaz de usuario es la parte del es la parte del programa que permite a programa que permite a ééste interactuar ste interactuar con el usuario. Las interfaces de usuario con el usuario. Las interfaces de usuario pueden adoptar muchas formas, que van pueden adoptar muchas formas, que van desde la simple ldesde la simple líínea de comandos hasta nea de comandos hasta las interfaces grlas interfaces grááficas que proporcionan ficas que proporcionan las aplicaciones mlas aplicaciones máás modernas. s modernas.

Page 10: Introducción al lenguaje JAVAjjhmora.mx.tripod.com/ses3java.pdfal lenguaje JAVA M.C. José Juan Hernández Mora M.C. JoséJuan Hernández Mora Tercera Sesión 1. Applets en Java l

10

M.C. JosM.C. Joséé Juan HernJuan Hernáández Morandez Mora

AWTAWT

El AWT proporciona muchos componentes El AWT proporciona muchos componentes de interfaz de usuario estde interfaz de usuario estáándares, como ndares, como botones, listas, menbotones, listas, menúús y s y ááreas de texto. reas de texto.

TambiTambiéén incluye contenedores (como n incluye contenedores (como ventanas y barras de menventanas y barras de menúú) y ) y componentes de alto nivel (ccomponentes de alto nivel (cóómo un mo un cuadro de dicuadro de diáálogo para abrir y guardar logo para abrir y guardar ficheros). ficheros).

M.C. JosM.C. Joséé Juan HernJuan Hernáández Morandez Mora

AWTAWT

ll Otras clases del AWT incluyen aquellas Otras clases del AWT incluyen aquellas que trabajan en un contexto grque trabajan en un contexto grááfico fico (incluyendo las operaciones de dibujo (incluyendo las operaciones de dibujo bbáásico), imsico), imáágenes, eventos, fuentes y genes, eventos, fuentes y colores. Otro grupo importante de clases colores. Otro grupo importante de clases del AWT son los controladores de del AWT son los controladores de distribucidistribucióón o disposicin o disposicióón que controlan el n que controlan el tamatamañño y la posicio y la posicióón de los componentes. n de los componentes.

Page 11: Introducción al lenguaje JAVAjjhmora.mx.tripod.com/ses3java.pdfal lenguaje JAVA M.C. José Juan Hernández Mora M.C. JoséJuan Hernández Mora Tercera Sesión 1. Applets en Java l

11

M.C. JosM.C. Joséé Juan HernJuan Hernáández Morandez Mora

GRAFICOS SGRAFICOS SÍÍMPLESMPLES

ll Las coordenadas van de izquierda a Las coordenadas van de izquierda a derecha y de arriba abajo, es decir x1, x2 derecha y de arriba abajo, es decir x1, x2 representan el ancho del objeto. y1,y2 representan el ancho del objeto. y1,y2 representan la altura. Todos los mrepresentan la altura. Todos los méétodos todos van precedidos del objeto de la clase van precedidos del objeto de la clase GraphicsGraphics que recibe la funcique recibe la funcióón n paintpaint..

M.C. JosM.C. Joséé Juan HernJuan Hernáández Morandez Mora

DibujosDibujos

ll Punto (Punto (x,yx,y))anchoancho

altoalto

Page 12: Introducción al lenguaje JAVAjjhmora.mx.tripod.com/ses3java.pdfal lenguaje JAVA M.C. José Juan Hernández Mora M.C. JoséJuan Hernández Mora Tercera Sesión 1. Applets en Java l

12

M.C. JosM.C. Joséé Juan HernJuan Hernáández Morandez Mora

RectRectáángulosngulos

ll drawRect(x1drawRect(x1,y1,x2,y2);,y1,x2,y2);

ll fillRect(x1fillRect(x1,y1,x2,y2);,y1,x2,y2);

M.C. JosM.C. Joséé Juan HernJuan Hernáández Morandez Mora

RectRectáángulos sin esquinasngulos sin esquinas

drawRoundRect(x,y,ancho,alto,anesq,alesqdrawRoundRect(x,y,ancho,alto,anesq,alesq););

fillRoundRect(x,y,ancho,alto,anesq,alesqfillRoundRect(x,y,ancho,alto,anesq,alesq););

Page 13: Introducción al lenguaje JAVAjjhmora.mx.tripod.com/ses3java.pdfal lenguaje JAVA M.C. José Juan Hernández Mora M.C. JoséJuan Hernández Mora Tercera Sesión 1. Applets en Java l

13

M.C. JosM.C. Joséé Juan HernJuan Hernáández Morandez Mora

OvalosOvalos

ll drawOval(x1drawOval(x1,y1,x2,y2);,y1,x2,y2);ll fillOval(x1fillOval(x1,y1,x2,y2);,y1,x2,y2);

M.C. JosM.C. Joséé Juan HernJuan Hernáández Morandez Mora

lineaslineas

ll drawLine(x1drawLine(x1,y1,x2,y2);,y1,x2,y2);

X1,y1X1,y1

x2,y2 x2,y2

Page 14: Introducción al lenguaje JAVAjjhmora.mx.tripod.com/ses3java.pdfal lenguaje JAVA M.C. José Juan Hernández Mora M.C. JoséJuan Hernández Mora Tercera Sesión 1. Applets en Java l

14

M.C. JosM.C. Joséé Juan HernJuan Hernáández Morandez Mora

ArcosArcos

ll drawArc(x,y,anchura,altura,drawArc(x,y,anchura,altura,ááng_comienzong_comienzo,,ááng_finalng_final););

ll fillArc(x,y,anchura,altura,fillArc(x,y,anchura,altura,ááng_comienzo,ng_comienzo,áánng_finalg_final););

M.C. JosM.C. Joséé Juan HernJuan Hernáández Morandez Mora

PolPolíígonosgonos

ll drawPolygon(arraydrawPolygon(array x, x, arrayarray y,nladosy,nlados););ll fillPolygon(arrayfillPolygon(array x, x, arrayarray y,nladosy,nlados););

Page 15: Introducción al lenguaje JAVAjjhmora.mx.tripod.com/ses3java.pdfal lenguaje JAVA M.C. José Juan Hernández Mora M.C. JoséJuan Hernández Mora Tercera Sesión 1. Applets en Java l

15

M.C. JosM.C. Joséé Juan HernJuan Hernáández Morandez Mora

Tipos letrasTipos letras

Configurar la fuente del objeto grConfigurar la fuente del objeto grááfico creado: fico creado:

FontFont fuente = fuente = newnew FontFont((““TimesRomanTimesRoman””, Font.BOLD, , Font.BOLD, 36);36);

objeto.setFont(fuente);objeto.setFont(fuente);

Nota1: utilizamos la clase Font del paquete java.awt.Font para Nota1: utilizamos la clase Font del paquete java.awt.Font para crear una crear una instancia llamada fuente.instancia llamada fuente.

Font(String Font(String nombrenombre, int , int estiloestilo, int , int tamatamaññoo))““DialogDialog”” Font.PLAINFont.PLAIN““HelveticaHelvetica”” Font.ITALICFont.ITALIC““CourierCourier”” Font.BOLD|Font.ITALICFont.BOLD|Font.ITALIC

Nota2: configuramos la fuente mediante la ejecuciNota2: configuramos la fuente mediante la ejecucióón del mn del méétodo setFont.todo setFont.

M.C. JosM.C. Joséé Juan HernJuan Hernáández Morandez Mora

ColoresColoresConfigurar el color del objeto grConfigurar el color del objeto grááfico creado: fico creado:

objeto.setColor(Color.redobjeto.setColor(Color.red););

Nota1: configuramos el color mediante la ejecuciNota1: configuramos el color mediante la ejecucióón del mn del méétodo todo setColorsetColorutilizando la variable red de la clase Color. Para dibujar un coutilizando la variable red de la clase Color. Para dibujar un color que no lor que no es uno de los estes uno de los estáándares:ndares:

Color c = Color c = newnew Color(34, 78, 123);Color(34, 78, 123);

Nombre R G B Nombre R G BColor.white 255,255,255 Color.black 0,0,0Color.lightGray 192,192,192 Color.gray 128,128,128Color.darkGray 64,64,64 Color.green 0,255,0Color.blue 0,0,255 Color.yellow 255,255,0Color.magenta 255,0,255 Color.cyan 0,255,255Color.pink 255,175,175 Color.orange 255,200,0

Page 16: Introducción al lenguaje JAVAjjhmora.mx.tripod.com/ses3java.pdfal lenguaje JAVA M.C. José Juan Hernández Mora M.C. JoséJuan Hernández Mora Tercera Sesión 1. Applets en Java l

16

M.C. JosM.C. Joséé Juan HernJuan Hernáández Morandez Mora

EjemploEjemplo

ll Dibujos.javaDibujos.java

M.C. JosM.C. Joséé Juan HernJuan Hernáández Morandez Mora

¿¿QuQuéé es un es un ThreadThread??

Todos los programadores estTodos los programadores estáán familiarizados con n familiarizados con la escritura de programas secula escritura de programas secuéénciales. nciales.

Los programas que ordenan una lista de nombres, Los programas que ordenan una lista de nombres, o que calculan la lista de no que calculan la lista de núúmeros primos.meros primos.

Estos son programas secuEstos son programas secuéénciales: cada uno nciales: cada uno tiene un principio, una secuencia de ejecucitiene un principio, una secuencia de ejecucióón y n y un final. En un momento dado durante la un final. En un momento dado durante la ejecuciejecucióón del programa hay un sn del programa hay un sóólo punto de lo punto de ejecuciejecucióónn

Page 17: Introducción al lenguaje JAVAjjhmora.mx.tripod.com/ses3java.pdfal lenguaje JAVA M.C. José Juan Hernández Mora M.C. JoséJuan Hernández Mora Tercera Sesión 1. Applets en Java l

17

M.C. JosM.C. Joséé Juan HernJuan Hernáández Morandez Mora

HilosHilos

Un Un threadthread es un flujo secuencial de control es un flujo secuencial de control dentro de un programa. dentro de un programa.

No hay nada nuevo en el concepto de un No hay nada nuevo en el concepto de un threadthread. Pero la importancia de los . Pero la importancia de los threadsthreadsno estno estáá sobre los sobre los threadsthreads secuencialessecuencialessolitarios, sino sobre la posibilidad de que solitarios, sino sobre la posibilidad de que un solo programa ejecute varios un solo programa ejecute varios threadsthreads a a la vez y que realicen diferentes tareas. la vez y que realicen diferentes tareas.

M.C. JosM.C. Joséé Juan HernJuan Hernáández Morandez Mora

La clase La clase ThreadThread

ll Es la clase que encapsula todo el control Es la clase que encapsula todo el control necesario sobre los hilos de ejecucinecesario sobre los hilos de ejecucióón n ((threadsthreads).).

ll La clase La clase ThreadThread es la es la úúnica forma de nica forma de controlar el comportamiento de los hilos.controlar el comportamiento de los hilos.

Page 18: Introducción al lenguaje JAVAjjhmora.mx.tripod.com/ses3java.pdfal lenguaje JAVA M.C. José Juan Hernández Mora M.C. JoséJuan Hernández Mora Tercera Sesión 1. Applets en Java l

18

M.C. JosM.C. Joséé Juan HernJuan Hernáández Morandez Mora

startstart()()

ll Este mEste méétodo indica al inttodo indica al intéérprete de Java rprete de Java que cree un contexto del hilo del sistema y que cree un contexto del hilo del sistema y comience a ejecutarlo.comience a ejecutarlo.

ll A continuaciA continuacióón, el mn, el méétodo todo runrun()() de este de este hilo serhilo seráá invocado en el nuevo contexto invocado en el nuevo contexto del hilo. del hilo.

ll Hay que tener precauciHay que tener precaucióón de no llamar al n de no llamar al mméétodo todo startstart()() mmáás de una vez sobre un s de una vez sobre un hilo determinado.hilo determinado.

M.C. JosM.C. Joséé Juan HernJuan Hernáández Morandez Mora

runrun()()

ll El mEl méétodo todo runrun()() constituye el cuerpo de un constituye el cuerpo de un hilo en ejecucihilo en ejecucióón. n.

ll Este es el Este es el úúnico mnico méétodo del interfaz todo del interfaz RunnableRunnable. Es llamado por el m. Es llamado por el méétodo todo startstart()() despudespuéés de que el hilo apropiado s de que el hilo apropiado del sistema se haya inicializado. Siempre del sistema se haya inicializado. Siempre que el mque el méétodo todo runrun()() devuelva el control, el devuelva el control, el hilo actual se detendrhilo actual se detendráá..

Page 19: Introducción al lenguaje JAVAjjhmora.mx.tripod.com/ses3java.pdfal lenguaje JAVA M.C. José Juan Hernández Mora M.C. JoséJuan Hernández Mora Tercera Sesión 1. Applets en Java l

19

M.C. JosM.C. Joséé Juan HernJuan Hernáández Morandez Mora

stop()stop()

ll Este mEste méétodo provoca que el hilo se todo provoca que el hilo se detenga de manera inmediata. detenga de manera inmediata.

ll A menudo constituye una manera brusca A menudo constituye una manera brusca de detener un hilo. Una forma mde detener un hilo. Una forma máás s elegante de detener un hilo es utilizar elegante de detener un hilo es utilizar alguna variable que ocasione que el alguna variable que ocasione que el mméétodo todo runrun()() termine de manera termine de manera ordenada. ordenada.

M.C. JosM.C. Joséé Juan HernJuan Hernáández Morandez Mora

La interfaz La interfaz RunnableRunnable

ll Hay dos modos de conseguir hilos de Hay dos modos de conseguir hilos de ejecuciejecucióón (n (threadsthreads) en Java. Una es ) en Java. Una es implementando el interfaz implementando el interfaz RunnableRunnable, la , la otra es extender la clase otra es extender la clase ThreadThread..

ll La implementaciLa implementacióón del interfaz n del interfaz RunnableRunnablees la forma habitual de crear hilos es la forma habitual de crear hilos

Page 20: Introducción al lenguaje JAVAjjhmora.mx.tripod.com/ses3java.pdfal lenguaje JAVA M.C. José Juan Hernández Mora M.C. JoséJuan Hernández Mora Tercera Sesión 1. Applets en Java l

20

M.C. JosM.C. Joséé Juan HernJuan Hernáández Morandez Mora

ExcepcionesExcepciones

ll A diferencia de otros lenguajes de programaciA diferencia de otros lenguajes de programacióón n orientados a objetos como C/C++, orientados a objetos como C/C++, Java Java incorpora en el propio lenguaje la gestiincorpora en el propio lenguaje la gestióón de n de errores. errores.

ll El mejor momento para detectar los errores es El mejor momento para detectar los errores es durante la compilacidurante la compilacióón. Sin embargo n. Sin embargo prpráácticamente scticamente sóólo los errores de sintaxis son lo los errores de sintaxis son detectados durante este periodo. detectados durante este periodo.

ll El resto de problemas surgen durante la El resto de problemas surgen durante la ejecuciejecucióón de los programas.n de los programas.

M.C. JosM.C. Joséé Juan HernJuan Hernáández Morandez Mora

EXCEPCIONESEXCEPCIONES

ll Una excepciUna excepcióón es una condicin es una condicióón anormal n anormal que surge en una secuencia de cque surge en una secuencia de cóódigo digo durante la ejecucidurante la ejecucióón. La gestin. La gestióón de n de excepciones lleva a la gestiexcepciones lleva a la gestióón de errores n de errores en tiempo de ejecucien tiempo de ejecucióón. Cuando surge n. Cuando surge una condiciuna condicióón excepcional se crea un n excepcional se crea un objeto objeto ExceptionException..

Page 21: Introducción al lenguaje JAVAjjhmora.mx.tripod.com/ses3java.pdfal lenguaje JAVA M.C. José Juan Hernández Mora M.C. JoséJuan Hernández Mora Tercera Sesión 1. Applets en Java l

21

M.C. JosM.C. Joséé Juan HernJuan Hernáández Morandez Mora

EXCEPCIONESEXCEPCIONES

El trabajo con excepciones se realiza El trabajo con excepciones se realiza mediante las siguientes palabras clave:mediante las siguientes palabras clave:

ll trytry Tiene el cTiene el cóódigo de ejecucidigo de ejecucióón, si se n, si se produce un error lanza (produce un error lanza (throwthrow) una ) una excepciexcepcióón que sern que seráá capturada.capturada.

M.C. JosM.C. Joséé Juan HernJuan Hernáández Morandez Mora

EXCEPCIONESEXCEPCIONES

llcatchcatch Captura la excepciCaptura la excepcióón lanzada por n lanzada por trytryque le precede. Puede capturar mque le precede. Puede capturar máás de una s de una excepciexcepcióón, es decir que se pueden an, es decir que se pueden aññadir.adir.

llfinallyfinally proporciona un mecanismo que proporciona un mecanismo que permite a sus mpermite a sus méétodos limpiarse a si mismos sin todos limpiarse a si mismos sin importar lo que sucede dentro del bloque importar lo que sucede dentro del bloque trytry. Se . Se utiliza el bloque utiliza el bloque finallyfinally para cerrar ficheros o para cerrar ficheros o liberar otros recursos del sistema.liberar otros recursos del sistema.

Page 22: Introducción al lenguaje JAVAjjhmora.mx.tripod.com/ses3java.pdfal lenguaje JAVA M.C. José Juan Hernández Mora M.C. JoséJuan Hernández Mora Tercera Sesión 1. Applets en Java l

22

M.C. JosM.C. Joséé Juan HernJuan Hernáández Morandez Mora

SINTAXIS DE EXCEPCIONES:SINTAXIS DE EXCEPCIONES:

trytry{{Bloque de cBloque de cóódigo;digo;}}

catchcatch(TipoExcepcion1(TipoExcepcion1 e) {e) {gestigestióón de la excepcin de la excepcióón;n;}}

catchcatch(TipoExcepcion2(TipoExcepcion2 e) {e) {gestigestióón de la excepcin de la excepcióón;n;throw(ethrow(e););}}

finallyfinally {{ }}

M.C. JosM.C. Joséé Juan HernJuan Hernáández Morandez Mora

Ejemplo Ejemplo

ll Hilos.javaHilos.java

Page 23: Introducción al lenguaje JAVAjjhmora.mx.tripod.com/ses3java.pdfal lenguaje JAVA M.C. José Juan Hernández Mora M.C. JoséJuan Hernández Mora Tercera Sesión 1. Applets en Java l

23

M.C. JosM.C. Joséé Juan HernJuan Hernáández Morandez Mora

AnimaciAnimacióónn

ll La animaciLa animacióón se realiza dibujando una n se realiza dibujando una imagen en una posiciimagen en una posicióón y despun y despuéés s dibujarla en otro despudibujarla en otro despuéés de un periodo s de un periodo de tiempode tiempo

M.C. JosM.C. Joséé Juan HernJuan Hernáández Morandez Mora

AnimaciAnimacióón sencillan sencilla

ll Anima.javaAnima.java

Page 24: Introducción al lenguaje JAVAjjhmora.mx.tripod.com/ses3java.pdfal lenguaje JAVA M.C. José Juan Hernández Mora M.C. JoséJuan Hernández Mora Tercera Sesión 1. Applets en Java l

24

M.C. JosM.C. Joséé Juan HernJuan Hernáández Morandez Mora

Eventos sencillosEventos sencillos

ll Cualquier componente puede gestionar Cualquier componente puede gestionar sucesos (eventos) sucesos (eventos) sobreescribiendosobreescribiendo el el mméétodo todo handleEventhandleEvent de la clase de la clase EventEvent..

ll Los eventos pueden ser de ventana, de Los eventos pueden ser de ventana, de teclado, de ratteclado, de ratóón y eventos de los n y eventos de los controles como botones, listas, etc.. que controles como botones, listas, etc.. que se ase aññadan al adan al appletapplet. .

M.C. JosM.C. Joséé Juan HernJuan Hernáández Morandez Mora

EVENTOS DEL EVENTOS DEL RATRATÓÓNN

mouseEntermouseEnter Cuando el ratCuando el ratóón entra en una n entra en una appletapplet..

mouseExitmouseExit Cuando el ratCuando el ratóón sale de una n sale de una appletapplet..

mouseMovemouseMove Cuando el ratCuando el ratóón se mueve sobre una n se mueve sobre una appletapplet..

mouseDownmouseDown Cuando se pulsa el botCuando se pulsa el botóón izquierdo del ratn izquierdo del ratóón.n.

mouseUpmouseUp Cuando se suelta el botCuando se suelta el botóón del ratn del ratóón.n.

mouseDragmouseDrag Cuando se arrastra el ratCuando se arrastra el ratóón sobre un n sobre un appletapplet..

Page 25: Introducción al lenguaje JAVAjjhmora.mx.tripod.com/ses3java.pdfal lenguaje JAVA M.C. José Juan Hernández Mora M.C. JoséJuan Hernández Mora Tercera Sesión 1. Applets en Java l

25

M.C. JosM.C. Joséé Juan HernJuan Hernáández Morandez Mora

SINTAXIS DEL MSINTAXIS DEL MÉÉTODO:TODO:

publicpublic booleanboolean eventoevento(Event(Event objeto,intobjeto,int x,intx,int y)y){{

cuerpo;cuerpo;returnreturn truetrue;;

}}

M.C. JosM.C. Joséé Juan HernJuan Hernáández Morandez Mora

EjemploEjemplo

ll Lineas.javaLineas.java

Page 26: Introducción al lenguaje JAVAjjhmora.mx.tripod.com/ses3java.pdfal lenguaje JAVA M.C. José Juan Hernández Mora M.C. JoséJuan Hernández Mora Tercera Sesión 1. Applets en Java l

26

M.C. JosM.C. Joséé Juan HernJuan Hernáández Morandez Mora

EVENTOS DE EVENTOS DE TECLADOTECLADO

keyDownkeyDown Cuando se pulsa una tecla.Cuando se pulsa una tecla.

keyUpkeyUp Cuando se suelta una tecla.Cuando se suelta una tecla.

M.C. JosM.C. Joséé Juan HernJuan Hernáández Morandez Mora

SINTAXIS DEL MSINTAXIS DEL MÉÉTODO:TODO:

publicpublic booleanboolean evento(Eventevento(Event objeto, objeto, intint letra)letra){{

cuerpo;cuerpo;returnreturn truetrue;;

}}

Page 27: Introducción al lenguaje JAVAjjhmora.mx.tripod.com/ses3java.pdfal lenguaje JAVA M.C. José Juan Hernández Mora M.C. JoséJuan Hernández Mora Tercera Sesión 1. Applets en Java l

27

M.C. JosM.C. Joséé Juan HernJuan Hernáández Morandez Mora

EjemploEjemplo

ll Teclas.javaTeclas.java

M.C. JosM.C. Joséé Juan HernJuan Hernáández Morandez Mora

ProgramasProgramas

ll Dibujar una cara Dibujar una cara

ll Modificar animaciModificar animacióón para activarlas con el n para activarlas con el tecladoteclado

Page 28: Introducción al lenguaje JAVAjjhmora.mx.tripod.com/ses3java.pdfal lenguaje JAVA M.C. José Juan Hernández Mora M.C. JoséJuan Hernández Mora Tercera Sesión 1. Applets en Java l

28

M.C. JosM.C. Joséé Juan HernJuan Hernáández Morandez Mora

Por hoy Por hoy ¡¡es todo!es todo!