Java (for Learning) UTB

Preview:

Citation preview

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

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

Oscar Bedoyaoscarbed@eisc.univalle.edu.co

Programación interactiva

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

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

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

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

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

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

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

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

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

Desarrollando programas en Java 

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

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

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)

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

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

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

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

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

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

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

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

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() 

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()

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

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

Aplicación requerida

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);

 } }

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:

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

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

JOptionPane

showMessageDialog()

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

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)

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

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

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

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

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

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

System

exit()

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

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); }

 }

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

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

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 

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

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 

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 

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

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

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()

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

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

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

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

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

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

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:

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:

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);

}

}

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:

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

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

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

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

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

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

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

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

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:

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 

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

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);

 }

 }

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

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);

 }

 }

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