65
 Oscar Bedoya [email protected] Programación interactiva

Java (for Learning) UTB

Embed Size (px)

Citation preview

Page 1: Java (for Learning) UTB

5/10/2018 Java (for Learning) UTB - slidepdf.com

http://slidepdf.com/reader/full/java-for-learning-utb 1/65

Oscar [email protected]

Programación interactiva

Page 2: Java (for Learning) UTB

5/10/2018 Java (for Learning) UTB - slidepdf.com

http://slidepdf.com/reader/full/java-for-learning-utb 2/65

El lenguaje de

programación

Page 3: Java (for Learning) UTB

5/10/2018 Java (for Learning) UTB - slidepdf.com

http://slidepdf.com/reader/full/java-for-learning-utb 3/65

Importancia del lenguaje Java•Correspondencia directa con el mundo real (compuestode objetos)

•Permite implementar GUI multimediales•Brinda seguridad en aplicaciones relacionadas con redesde computadores

•Es portable•Es gratis

El lenguaje de programación Java

Page 4: Java (for Learning) UTB

5/10/2018 Java (for Learning) UTB - slidepdf.com

http://slidepdf.com/reader/full/java-for-learning-utb 4/65

•Es un lenguaje interpretado. Los programas se ejecutansobre la máquina virtual

-Portabilidad

-Desempeño

•No se tienen punteros. Los nombres de los objetoscorresponden a las referencias a los objetos

•No soporta la herencia múltiple

El lenguaje de programación Java

Page 5: Java (for Learning) UTB

5/10/2018 Java (for Learning) UTB - slidepdf.com

http://slidepdf.com/reader/full/java-for-learning-utb 5/65

El JDK y su instalación

Page 6: Java (for Learning) UTB

5/10/2018 Java (for Learning) UTB - slidepdf.com

http://slidepdf.com/reader/full/java-for-learning-utb 6/65

El JDK y su instalación

JDK(Java Development Kit)

•Conjunto de herramientas para desarrollarsoftware, en específico aquellos programas

en el lenguaje llamado JAVA

El lenguaje de programación Java

Page 7: Java (for Learning) UTB

5/10/2018 Java (for Learning) UTB - slidepdf.com

http://slidepdf.com/reader/full/java-for-learning-utb 7/65

Herramientas de desarrollo del JDK

El lenguaje de programación Java

CARPETA DESCRIPCIÓNbin Contiene las herramientas ejecutables del JDK

para desarrollar, ejecutar, depurar y

documentar programas en Javademo Contiene Applets para ejecución, así como

muestras de código para la clases de Java

docs Completa documentación acerca de Java

include Archivos de encabezamiento requeridos para laconstrucción del entorno java

lib Bibliotecas y archivos utilizados por el JDK

Page 8: Java (for Learning) UTB

5/10/2018 Java (for Learning) UTB - slidepdf.com

http://slidepdf.com/reader/full/java-for-learning-utb 8/65

Herramientas de desarrollo del JDK

El lenguaje de programación Java

PROGRAMA DESCRIPCIÓN java Interpretador para ejecutar aplicaciones

  javac Compilador de Java

 javadoc Para la generación de documentación de clases

appletviewer Para visualizar las ventanas de Applets

 javah Generador de archivos C++ de encabezados

 javap Desensamblador de clases Java jdb Depurador Java

Page 9: Java (for Learning) UTB

5/10/2018 Java (for Learning) UTB - slidepdf.com

http://slidepdf.com/reader/full/java-for-learning-utb 9/65

Desarrollando programas en Java 

Page 10: Java (for Learning) UTB

5/10/2018 Java (for Learning) UTB - slidepdf.com

http://slidepdf.com/reader/full/java-for-learning-utb 10/65

Page 11: Java (for Learning) UTB

5/10/2018 Java (for Learning) UTB - slidepdf.com

http://slidepdf.com/reader/full/java-for-learning-utb 11/65

Herramientas de desarrollo del JDK

CompiladorJava

El archivo de clase es aquel que contiene latraducción en código de bytes (bytecode)del código fuente

Note que contiene 1’s y 0’s!!!

El lenguaje de programación Java

Código FuenteArchivo de clase(código de bytes)

Page 12: Java (for Learning) UTB

5/10/2018 Java (for Learning) UTB - slidepdf.com

http://slidepdf.com/reader/full/java-for-learning-utb 12/65

Herramientas de desarrollo del JDK

El lenguaje de programación Java

CompiladorJavaCódigo Fuente

Archivo de clase(código de bytes)

JVMPrograma

en ejecución

Page 13: Java (for Learning) UTB

5/10/2018 Java (for Learning) UTB - slidepdf.com

http://slidepdf.com/reader/full/java-for-learning-utb 13/65

En Java se pueden desarrollar dos tipos de programas

• Aplicaciones: programas que se ejecutan localmente enel computador

• Applets: programas que se ejecutan en Internet, pormedio de un navegador o browser

El lenguaje de programación Java

Page 14: Java (for Learning) UTB

5/10/2018 Java (for Learning) UTB - slidepdf.com

http://slidepdf.com/reader/full/java-for-learning-utb 14/65

Ejemplo1.java 

El lenguaje de programación Java

CompiladorJavaCódigo Fuente

Archivo de clase(código de bytes)

JVMPrograma

en ejecución

Aplicación

Page 15: Java (for Learning) UTB

5/10/2018 Java (for Learning) UTB - slidepdf.com

http://slidepdf.com/reader/full/java-for-learning-utb 15/65

El lenguaje de programación Java

Ejemplo1.java 

CompiladorJavaCódigo Fuente

Archivo de clase(código de bytes)

JVMPrograma

en ejecuciónCompilar:

 javac Ejemplo1.java

Aplicación

Page 16: Java (for Learning) UTB

5/10/2018 Java (for Learning) UTB - slidepdf.com

http://slidepdf.com/reader/full/java-for-learning-utb 16/65

Compilar:

 javac Ejemplo1.java

El lenguaje de programación Java

Ejemplo1.java 

CompiladorJavaCódigo Fuente

Archivo de clase(código de bytes)

JVMPrograma

en ejecución

Ejemplo1.class 

Aplicación

Page 17: Java (for Learning) UTB

5/10/2018 Java (for Learning) UTB - slidepdf.com

http://slidepdf.com/reader/full/java-for-learning-utb 17/65

Compilar:

 javac Ejemplo1.java

El lenguaje de programación Java

Ejemplo1.java 

CompiladorJavaCódigo Fuente

Archivo de clase(código de bytes)

JVMPrograma

en ejecución

Ejemplo1.class 

Ejecutar:

 java Ejemplo1

Aplicación

Page 18: Java (for Learning) UTB

5/10/2018 Java (for Learning) UTB - slidepdf.com

http://slidepdf.com/reader/full/java-for-learning-utb 18/65

Compilar:

 javac Ejemplo1.java

El lenguaje de programación Java

Ejemplo1.java 

CompiladorJavaCódigo Fuente

Archivo de clase(código de bytes)

JVMApplet

Ejemplo1.class 

Visualizar:

appletviewer Ejemplo1.html

Archivo HTMLEjemplo1.html

Applet

Page 19: Java (for Learning) UTB

5/10/2018 Java (for Learning) UTB - slidepdf.com

http://slidepdf.com/reader/full/java-for-learning-utb 19/65

Aplicaciones

• Es un programa que se ejecuta en un computador demanera local y consta de una o más clases.

• Las aplicaciones tienen un método main()

El lenguaje de programación Java

Page 20: Java (for Learning) UTB

5/10/2018 Java (for Learning) UTB - slidepdf.com

http://slidepdf.com/reader/full/java-for-learning-utb 20/65

Ejemplo1

main()

Toda clase en Java que sea una aplicación debe tener un método llamado main() 

Page 21: Java (for Learning) UTB

5/10/2018 Java (for Learning) UTB - slidepdf.com

http://slidepdf.com/reader/full/java-for-learning-utb 21/65

public class Ejemplo1

 {

public static void main(String a[])

 {

contenido del método main() 

 }

 }

Ejemplo1

main()

Page 22: Java (for Learning) UTB

5/10/2018 Java (for Learning) UTB - slidepdf.com

http://slidepdf.com/reader/full/java-for-learning-utb 22/65

Aplicación requerida

Page 23: Java (for Learning) UTB

5/10/2018 Java (for Learning) UTB - slidepdf.com

http://slidepdf.com/reader/full/java-for-learning-utb 23/65

import javax.swing.JOptionPane;

public class Ejemplo1 {

public static void main(String a[]){

JOptionPane.showMessageDialog(null,"Bienvenido a Java");

System.exit(0);

 } }

Page 24: Java (for Learning) UTB

5/10/2018 Java (for Learning) UTB - slidepdf.com

http://slidepdf.com/reader/full/java-for-learning-utb 24/65

JOptionPane.showMessageDialog(null,"Bienvenido a Java");

JOptionPane es una clase AUXILIAR cuyos métodospermiten la entrada y salida de datos.

El método que se utiliza específicamente se llamashowMessageDialog y permite mostrar la siguienteventana:

Page 25: Java (for Learning) UTB

5/10/2018 Java (for Learning) UTB - slidepdf.com

http://slidepdf.com/reader/full/java-for-learning-utb 25/65

JOptionPane

showMessageDialog()

Page 26: Java (for Learning) UTB

5/10/2018 Java (for Learning) UTB - slidepdf.com

http://slidepdf.com/reader/full/java-for-learning-utb 26/65

JOptionPane.showMessageDialog(null,"Bienvenido a Java“,

“Mensaje de bienvenida”, JOptionPane.INFORMATION_MESSAGE);

Título

Tipo de mensaje,se cambia el icono

Page 27: Java (for Learning) UTB

5/10/2018 Java (for Learning) UTB - slidepdf.com

http://slidepdf.com/reader/full/java-for-learning-utb 27/65

JOptionPane.showMessageDialog(null,"Bienvenido a Java“,

“Mensaje de bienvenida”, JOptionPane.INFORMATION_MESSAGE);

(1)

Tipo de mensaje, secambia el icono (2)

Título (1)

(2)

Page 28: Java (for Learning) UTB

5/10/2018 Java (for Learning) UTB - slidepdf.com

http://slidepdf.com/reader/full/java-for-learning-utb 28/65

Tipo de cuadro de dialogo Icono

JOptionPane.ERROR_MESSAGE

JOptionPane.INFORMATION_MESSAGE

JOptionPane.WARNING_MESSAGE

JOptionPane.QUESION_MESSAGE

JOptionPane.PLAIN_MESSAGE

Page 29: Java (for Learning) UTB

5/10/2018 Java (for Learning) UTB - slidepdf.com

http://slidepdf.com/reader/full/java-for-learning-utb 29/65

import javax.swing.JOptionPane;

Permite utilizar la clase JOptionPane que seencuentra en el paquete llamado javax.swing.

Es OBLIGATORIO importar la clase si se va a

utilizar

Dependiendo de qué clases adicionales se van a utilizarse importan diferentes paquetes

Page 30: Java (for Learning) UTB

5/10/2018 Java (for Learning) UTB - slidepdf.com

http://slidepdf.com/reader/full/java-for-learning-utb 30/65

JOptionPaneJButtonJCheckBoxJLabelJListJMenuBar

 javax.swing

 javax.swing es unpaquete en el que se

almacenan diferentesclases.

•Al utilizar javax.swing.JOptionPane;

se importa la clase

JOptionaPane

Page 31: Java (for Learning) UTB

5/10/2018 Java (for Learning) UTB - slidepdf.com

http://slidepdf.com/reader/full/java-for-learning-utb 31/65

JOptionPaneJButtonJCheckBoxJLabelJListJMenuBar

 javax.swing

Utilizar javax.swing.*;

para importar TODASlas clases del paquete

Page 32: Java (for Learning) UTB

5/10/2018 Java (for Learning) UTB - slidepdf.com

http://slidepdf.com/reader/full/java-for-learning-utb 32/65

System

exit()

Page 33: Java (for Learning) UTB

5/10/2018 Java (for Learning) UTB - slidepdf.com

http://slidepdf.com/reader/full/java-for-learning-utb 33/65

System

exit()

JOptionPane

showMessageDialog()

Ejemplo1

main()

usa

usa

Page 34: Java (for Learning) UTB

5/10/2018 Java (for Learning) UTB - slidepdf.com

http://slidepdf.com/reader/full/java-for-learning-utb 34/65

import javax.swing.*;

public class Ejemplo3 {

public static void main(String a[]){

JOptionPane.showMessageDialog(null," Bienvenido a

Java \n Un lenguaje orientado a objetos");

System.exit(0); }

 }

Page 35: Java (for Learning) UTB

5/10/2018 Java (for Learning) UTB - slidepdf.com

http://slidepdf.com/reader/full/java-for-learning-utb 35/65

El símbolo \n genera un salto de línea

Page 36: Java (for Learning) UTB

5/10/2018 Java (for Learning) UTB - slidepdf.com

http://slidepdf.com/reader/full/java-for-learning-utb 36/65

Desarrollar una aplicación Java que primero muestreel mensaje

 y una vez se de clic en ACEPTAR, aparezca

Page 37: Java (for Learning) UTB

5/10/2018 Java (for Learning) UTB - slidepdf.com

http://slidepdf.com/reader/full/java-for-learning-utb 37/65

Tarea 1 (PARTE 1):Desarrollar una aplicación Javaque muestre los siguientes datos para cada integrante

de su grupo de laboratorio:• Nombre

• Código

• Edad• Promedio

Los datos para cada estudiante deben aparecer en unaventana aparte, es decir, para un grupo de 2 personasaparecerá primero la ventana con los datos del primerestudiante y cuando se de clic en aceptar aparecerálos datos del segundo estudiante

Debe entregar: .java, .class, captura de ejecución 

Page 38: Java (for Learning) UTB

5/10/2018 Java (for Learning) UTB - slidepdf.com

http://slidepdf.com/reader/full/java-for-learning-utb 38/65

Applets

• Es un programa que se ejecuta en un navegador obrowser

• Requiere de un archivo HTML que invoque a la claseJava

El lenguaje de programación Java

Page 39: Java (for Learning) UTB

5/10/2018 Java (for Learning) UTB - slidepdf.com

http://slidepdf.com/reader/full/java-for-learning-utb 39/65

JApplet

EjemploA1

Todo programa en Java que sea Applet debe presentar esta 

 jerarquía de clases 

Page 40: Java (for Learning) UTB

5/10/2018 Java (for Learning) UTB - slidepdf.com

http://slidepdf.com/reader/full/java-for-learning-utb 40/65

JApplet

EjemploA1

Superclase

Subclase

EjemploA1 es-un JApplet 

Page 41: Java (for Learning) UTB

5/10/2018 Java (for Learning) UTB - slidepdf.com

http://slidepdf.com/reader/full/java-for-learning-utb 41/65

JApplet

EjemploA1

La clase EjemploA1hereda de la claseJApplet.

La herencia seimplementa en Javapor medio de lapalabra extends

Page 42: Java (for Learning) UTB

5/10/2018 Java (for Learning) UTB - slidepdf.com

http://slidepdf.com/reader/full/java-for-learning-utb 42/65

import javax.swing.JApplet;

import java.awt.Graphics;

public class EjemploA1 extends JApplet{

}

Ejemplo4.java

Page 43: Java (for Learning) UTB

5/10/2018 Java (for Learning) UTB - slidepdf.com

http://slidepdf.com/reader/full/java-for-learning-utb 43/65

JApplet

EjemploA1

paint()

Toda applet en Javadebe tener unmétodo paint()

Page 44: Java (for Learning) UTB

5/10/2018 Java (for Learning) UTB - slidepdf.com

http://slidepdf.com/reader/full/java-for-learning-utb 44/65

Page 45: Java (for Learning) UTB

5/10/2018 Java (for Learning) UTB - slidepdf.com

http://slidepdf.com/reader/full/java-for-learning-utb 45/65

import javax.swing.JApplet;

import java.awt.Graphics;

public class EjemploA1 extends JApplet{

public void paint(Graphics g){

g.drawString(“Bienvenidos a Java”,10,50);

 }

}

EjemploA1.java

Page 46: Java (for Learning) UTB

5/10/2018 Java (for Learning) UTB - slidepdf.com

http://slidepdf.com/reader/full/java-for-learning-utb 46/65

g.drawString(“Bienvenidos a Java”,10,50);

El método drawString permite dibujar unacadena de caracteres en un applet, en lascoordenadas 10,50

Page 47: Java (for Learning) UTB

5/10/2018 Java (for Learning) UTB - slidepdf.com

http://slidepdf.com/reader/full/java-for-learning-utb 47/65

Bienvenidos a Java

10

50

300,200

Page 48: Java (for Learning) UTB

5/10/2018 Java (for Learning) UTB - slidepdf.com

http://slidepdf.com/reader/full/java-for-learning-utb 48/65

<HTML>

<BODY>

<APPLET CODE="EjemploA1.class" WIDTH="300” HEIGHT="200">

</APPLET>

</BODY>

</HTML>

EjemploA1.html

Page 49: Java (for Learning) UTB

5/10/2018 Java (for Learning) UTB - slidepdf.com

http://slidepdf.com/reader/full/java-for-learning-utb 49/65

Desarrolle el siguiente applet en Java:

Page 50: Java (for Learning) UTB

5/10/2018 Java (for Learning) UTB - slidepdf.com

http://slidepdf.com/reader/full/java-for-learning-utb 50/65

Desarrolle el siguiente applet en Java:

Page 51: Java (for Learning) UTB

5/10/2018 Java (for Learning) UTB - slidepdf.com

http://slidepdf.com/reader/full/java-for-learning-utb 51/65

import javax.swing.JApplet;

import java.awt.Graphics;

import java.awt.Color;

public class EjemploA2 extends JApplet{

public void paint(Graphics g){

g.setColor(Color.red);

g.drawString("Bienvenidos a Java",10,50);

}

}

Page 52: Java (for Learning) UTB

5/10/2018 Java (for Learning) UTB - slidepdf.com

http://slidepdf.com/reader/full/java-for-learning-utb 52/65

Desarrolle una programa tipo Applet quemuestre lo siguiente:

Page 53: Java (for Learning) UTB

5/10/2018 Java (for Learning) UTB - slidepdf.com

http://slidepdf.com/reader/full/java-for-learning-utb 53/65

Page 54: Java (for Learning) UTB

5/10/2018 Java (for Learning) UTB - slidepdf.com

http://slidepdf.com/reader/full/java-for-learning-utb 54/65

Page 55: Java (for Learning) UTB

5/10/2018 Java (for Learning) UTB - slidepdf.com

http://slidepdf.com/reader/full/java-for-learning-utb 55/65

import javax.swing.JApplet;import java.awt.Graphics;import java.awt.Color;

public class EjemploA3 extends JApplet{public void paint(Graphics g){

g.setColor(Color.red);g.drawOval(30,30,90,80);g.drawLine(40,40,80,80);g.fillRect(10,10,50,40);

 } }

30

Page 56: Java (for Learning) UTB

5/10/2018 Java (for Learning) UTB - slidepdf.com

http://slidepdf.com/reader/full/java-for-learning-utb 56/65

30

30

300,200

90

80

g.drawOval(30,30,90,80);

40

Page 57: Java (for Learning) UTB

5/10/2018 Java (for Learning) UTB - slidepdf.com

http://slidepdf.com/reader/full/java-for-learning-utb 57/65

40

40

300,200

(80, 80)

g.drawLine(40,40,80,80);

(40, 40)

10

Page 58: Java (for Learning) UTB

5/10/2018 Java (for Learning) UTB - slidepdf.com

http://slidepdf.com/reader/full/java-for-learning-utb 58/65

10

10

300,200

g.fillRect(10,10,50,40);

50

40

Page 59: Java (for Learning) UTB

5/10/2018 Java (for Learning) UTB - slidepdf.com

http://slidepdf.com/reader/full/java-for-learning-utb 59/65

Desarrollar un programa tipoapplet que muestre lo siguiente:

Page 60: Java (for Learning) UTB

5/10/2018 Java (for Learning) UTB - slidepdf.com

http://slidepdf.com/reader/full/java-for-learning-utb 60/65

Tarea 1 (PARTE 2):Desarrollar un applet en Java quemuestre lo siguiente

Debe entregar: .java, .class, .html, captura de ejecución 

Page 61: Java (for Learning) UTB

5/10/2018 Java (for Learning) UTB - slidepdf.com

http://slidepdf.com/reader/full/java-for-learning-utb 61/65

Cómo mostrar mensajes en modo texto

Page 62: Java (for Learning) UTB

5/10/2018 Java (for Learning) UTB - slidepdf.com

http://slidepdf.com/reader/full/java-for-learning-utb 62/65

public class Ejemplo11 {

public static void main(String a[]){

System.out.println(“Bienvenido a Java”);

System.exit(0);

 }

 }

Page 63: Java (for Learning) UTB

5/10/2018 Java (for Learning) UTB - slidepdf.com

http://slidepdf.com/reader/full/java-for-learning-utb 63/65

System.out.println(“Bienvenido a Java”);

Se utiliza la clase System para imprimir enmodo texto el mensaje “Bienvenido a Java”

También se puede utilizar \n para provocar unsalto de línea

Page 64: Java (for Learning) UTB

5/10/2018 Java (for Learning) UTB - slidepdf.com

http://slidepdf.com/reader/full/java-for-learning-utb 64/65

public class Ejemplo12 {

public static void main(String a[]){

System.out.println(“PROGRAMACION INTERACTIVA \n\t 750085M \n \t Creditos:4 \n \t Validable:Si”);

System.exit(0);

 }

 }

Page 65: Java (for Learning) UTB

5/10/2018 Java (for Learning) UTB - slidepdf.com

http://slidepdf.com/reader/full/java-for-learning-utb 65/65

Se puede utilizar \t para tabular. Es decir,adicionar espacios en blanco a la izquierda deltexto