Programación interactiva Oscar Bedoya oscarbed@eisc.univalle.edu.co El lenguaje de programación El lenguaje de programación Java Importancia del lenguaje Java •Correspondencia directa con el mundo real (compuesto de objetos) •Permite implementar GUI multimediales •Brinda seguridad en aplicaciones relacionadas con redes de computadores •Es portable •Es gratis El lenguaje de programación Java •Es un lenguaje interpretado. Los programas se ejecutan sobre la máquina virtual -Portabilidad -Desempeño •No se tienen punteros. Los nombres de los objetos corresponden a las referencias a los objetos •No soporta la herencia múltiple El JDK y su instalación El lenguaje de programación Java El JDK y su instalación JDK(Java Development Kit) •Conjunto de herramientas para desarrollar software, en específico aquellos programas en el lenguaje llamado JAVA El lenguaje de programación Java Herramientas de desarrollo del JDK CARPETA DESCRIPCIÓN bin Contiene las herramientas ejecutables del JDK para desarrollar, ejecutar, depurar y documentar programas en Java demo 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 la construcción del entorno java lib Bibliotecas y archivos utilizados por el JDK El lenguaje de programación Java Herramientas de desarrollo del JDK 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 Desarrollando programas en Java El lenguaje de programación Java Herramientas de desarrollo del JDK Compilador Java Código Fuente Archivo de clase (código de bytes) El archivo de clase es aquel que contiene la traducció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 Herramientas de desarrollo del JDK Código Fuente Compilador Java JVM Archivo de clase (código de bytes) Programa en ejecución El lenguaje de programación Java En Java se pueden desarrollar dos tipos de programas • Aplicaciones: programas que se ejecutan localmente en el computador • Applets: programas que se ejecutan en Internet, por medio de un navegador o browser El lenguaje de programación Java Aplicación Ejemplo1.java Código Fuente Compilador Java JVM Archivo de clase (código de bytes) Programa en ejecución El lenguaje de programación Java Aplicación Ejemplo1.java Código Fuente Compilador Java Compilar: javac Ejemplo1.java JVM Archivo de clase (código de bytes) Programa en ejecución El lenguaje de programación Java Aplicación Ejemplo1.java Código Fuente Ejemplo1.class Compilador Java Compilar: javac Ejemplo1.java JVM Archivo de clase (código de bytes) Programa en ejecución El lenguaje de programación Java Aplicación Ejemplo1.java Código Fuente Ejemplo1.class Compilador Java Compilar: javac Ejemplo1.java JVM Archivo de clase (código de bytes) Ejecutar: java Ejemplo1 Programa en ejecución El lenguaje de programación Java Applet Ejemplo1.java Código Fuente Ejemplo1.class Compilador Java Compilar: JVM Applet Archivo de clase (código de bytes) Visualizar: javac Ejemplo1.java appletviewer Ejemplo1.html Archivo HTML Ejemplo1.html El lenguaje de programación Java Aplicaciones • Es un programa que se ejecuta en un computador de manera local y consta de una o más clases. • Las aplicaciones tienen un método main() Ejemplo1 main() Toda clase en Java que sea una aplicación debe tener un método llamado main() public class Ejemplo1 { public static void main(String a[]) { contenido del método main() } } Ejemplo1 main() Aplicación requerida import javax.swing.JOptionPane; public class Ejemplo1{ public static void main(String a[]){ JOptionPane.showMessageDialog(null,"Bienvenido a Java"); System.exit(0); } } JOptionPane.showMessageDialog(null,"Bienvenido a Java"); JOptionPane es una clase AUXILIAR cuyos métodos permiten la entrada y salida de datos. El método que se utiliza específicamente se llama showMessageDialog y permite mostrar la siguiente ventana: JOptionPane showMessageDialog() JOptionPane.showMessageDialog(null,"Bienvenido a Java“, “Mensaje de bienvenida”, JOptionPane.INFORMATION_MESSAGE); Título Tipo de mensaje, se cambia el icono JOptionPane.showMessageDialog(null,"Bienvenido a Java“, “Mensaje de bienvenida”, JOptionPane.INFORMATION_MESSAGE); (1) Título (1) Tipo de mensaje, se cambia el icono (2) (2) Tipo de cuadro de dialogo JOptionPane.ERROR_MESSAGE JOptionPane.INFORMATION_MESSAGE JOptionPane.WARNING_MESSAGE JOptionPane.QUESION_MESSAGE JOptionPane.PLAIN_MESSAGE Icono import javax.swing.JOptionPane; Permite utilizar la clase JOptionPane que se encuentra en el paquete llamado javax.swing. Es OBLIGATORIO importar la clase si se va a utilizar Dependiendo de qué clases adicionales se van a utilizar se importan diferentes paquetes javax.swing JOptionPane JButton JCheckBox JLabel JList JMenuBar javax.swing es un paquete en el que se almacenan diferentes clases. •Al utilizar javax.swing.JOptionPane; se importa la clase JOptionaPane Utilizar javax.swing.*; javax.swing JOptionPane JButton JCheckBox JLabel JList JMenuBar para importar TODAS las clases del paquete System exit() System Ejemplo1 main() usa usa exit() JOptionPane showMessageDialog() 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); } } El símbolo \n genera un salto de línea Desarrollar una aplicación Java que primero muestre el mensaje y una vez se de clic en ACEPTAR, aparezca Tarea 1 (PARTE 1):Desarrollar una aplicación Java que 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 una ventana aparte, es decir, para un grupo de 2 personas aparecerá primero la ventana con los datos del primer estudiante y cuando se de clic en aceptar aparecerá los datos del segundo estudiante Debe entregar: .java, .class, captura de ejecución El lenguaje de programación Java Applets • Es un programa que se ejecuta en un navegador o browser • Requiere de un archivo HTML que invoque a la clase Java JApplet Todo programa en Java que sea Applet debe presentar esta jerarquía de clases EjemploA1 JApplet Superclase EjemploA1 es-un JApplet EjemploA1 Subclase JApplet La clase EjemploA1 hereda de la clase JApplet. EjemploA1 La herencia se implementa en Java por medio de la palabra extends import javax.swing.JApplet; import java.awt.Graphics; public class EjemploA1 extends JApplet{ } Ejemplo4.java JApplet EjemploA1 paint() Toda applet en Java debe tener un método paint() 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 g.drawString(“Bienvenidos a Java”,10,50); El método drawString permite dibujar una cadena de caracteres en un applet, en las coordenadas 10,50 10 50 Bienvenidos a Java 300,200 <HTML> <BODY> <APPLET CODE="EjemploA1.class" WIDTH="300” HEIGHT="200"> </APPLET> </BODY> </HTML> EjemploA1.html Desarrolle el siguiente applet en Java: Desarrolle el siguiente applet en Java: 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); } } Desarrolle una programa tipo Applet que muestre lo siguiente: 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 30 90 80 300,200 g.drawOval(30,30,90,80); 40 40 (40, 40) (80, 80) 300,200 g.drawLine(40,40,80,80); 10 10 50 40 300,200 g.fillRect(10,10,50,40); Desarrollar un programa tipo applet que muestre lo siguiente: Tarea 1 (PARTE 2):Desarrollar un applet en Java que muestre lo siguiente Debe entregar: .java, .class, .html, captura de ejecución Cómo mostrar mensajes en modo texto public class Ejemplo11 { public static void main(String a[]){ System.out.println(“Bienvenido a Java”); System.exit(0); } } System.out.println(“Bienvenido a Java”); Se utiliza la clase System para imprimir en modo texto el mensaje “Bienvenido a Java” También se puede utilizar \n para provocar un salto de línea 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); } } Se puede utilizar \t para tabular. Es decir, adicionar espacios en blanco a la izquierda del texto