Presentación 1. Historia 9 1.1 Por qué Java? 9 1.2 Objetivos del diseño de Java 10 1.3 Auge de Java 11 2. Características de Java 12 2.1 El lenguaje de programación Java 12 2.1.1 Sencillo 13 2.1.2 Orientado a objetos 14 2.1.3 Distribuido 14 2.1.4 Interpretado 15 2.1.5 Robusto 15 2.1.6 Securizado 15 2.1.7 Independiente de las arquitecturas 16 2.1.8 Portable 17 2.1.9 Eficaz 17 2.1.10 Multitarea 17 2.1.11 Dinámico 17 2.2 La plataforma Java 18 2.2.1 La máquina virtual Java (JVM) 19 2.2.2 La API Java 20 2.2.3 Las herramientas de despliegue de las aplicaciones 23 2.2.4 Las herramientas de ayuda al desarrollo 23 2.3 Ciclo de diseño de un programa Java 24 3. Instalación del SDK versión Win32 para el entorno Windows 25 3.1 Descarga 25 3.2 Instalación 25 3.3 Configuración 27 3.4 Prueba de la configuración del SDK 27 3.5 Instalación de la documentación del SDK y de las APIs estándar 29 1/8
4. Las diferentes etapas de creación de un programa Java 31 4.1 Creación de los ficheros fuente 31 4.2 Compilar un fichero fuente 32 4.3 Ejecutar una aplicación 34 5. Nuestra primera aplicación Java 35 5.1 Esqueleto de una aplicación 35 5.2 Argumentos en línea de comando 37 5.2.1 Principios y utilización 37 5.2.2 Paso de argumentos a una aplicación Java en tiempo de ejecución 38 Fundamentos del lenguaje 1. Las variables, constantes y enumeraciones 41 1.1 Las variables 41 1.1.1 Nombre de las variables 42 1.1.2 Tipo de variables 42 1.1.3 Valores por defecto 45 1.1.4 Valores literales 46 1.1.5 Conversiones de tipos 47 1.1.6 Declaración de las variables 50 1.1.7 Alcance de las variables 51 1.1.8 Nivel de acceso de las variables 51 1.1.9 Ciclo de vida de las variables 52 1.2 Las constantes 52 1.3 Las enumeraciones 53 1.4 Los arrays 55 1.5 Las cadenas de caracteres 59 2. Los operadores 64 2.1 Los operadores unarios 65 2.2 Los operadores de asignación 65 2.3 Los operadores aritméticos 66 2/8
2.4 Los operadores bit a bit 66 2.5 Los operadores de comparación 66 2.6 El operador de concatenación 67 2.7 Los operadores lógicos 68 2.8 Orden de evaluación de los operadores 69 3. Las estructuras de control 70 3.1 Estructuras de decisión 70 3.1.1 Estructura If 70 3.1.2 Estructura switch 72 3.2 Las estructuras de bucle 74 3.2.1 Estructura while 74 3.2.2 Estructura do... while 75 3.2.3 Estructura for 75 3.2.4 Interrupción de una estructura de bucle 77 Programación orientada a objetos 1. Introducción 81 2. Puesta en práctica con Java 84 2.1 Creación de una clase 85 2.1.1 Declaración de la clase 85 2.1.2 Creación de los campos 86 2.1.3 Creación de métodos 87 2.1.4 Los métodos accesores 92 2.1.5 Constructores y destructores 94 2.1.6 Campos y métodos estáticos 95 2.1.7 Las anotaciones 97 2.2 Utilización de una clase 100 2.2.1 Creación de una instancia 101 2.2.2 Inicialización de una instancia 101 2.2.3 Destrucción de una instancia 104 2.3 Herencia 109 3/8
2.3.1 this y super 110 2.3.2 Clases abstractas 116 2.3.3 Clases finales 117 2.3.4 Conversión de tipo 117 2.3.5 La clase Object 124 2.4 Interfaces 131 2.4.1 Creación de una interfaz 131 2.4.2 Utilización de una interfaz 132 2.5 Clases anidadas 136 2.5.1 Clases anidadas estáticas 137 2.5.2 Clases anidadas 138 2.5.3 Clases anónimas 139 2.6 Los genéricos 145 2.6.1 Clases genéricas 146 2.6.2 Métodos genéricos 153 2.6.3 Los genéricos y la herencia 154 2.7 Los paquetes 160 2.7.1 Creación de un paquete 160 2.7.2 Utilización e importación de un paquete 162 3. Gestión de las excepciones 165 3.1 Los errores de sintaxis 165 3.2 Los errores de ejecución 166 3.3 Les errores de lógica 167 3.3.1 Las excepciones 167 3.3.2 Recuperación de excepciones 168 3.3.3 Excepciones asociadas a recursos 173 3.3.4 Creación y activación de excepciones 176 Aplicaciones gráficas 1. Introducción 179 1.1 Las bibliotecas gráficas 180 1.1.1 La biblioteca AWT 180 4/8
1.1.2 La biblioteca Swing 180 1.2 Constitución de la interfaz gráfica de una aplicación 181 2. Diseño de una interfaz gráfica 182 2.1 Las ventanas 182 2.2 La gestión de los eventos 187 2.3 Aspecto de los componentes 217 2.4 El posicionamiento de los componentes 218 2.4.1 FlowLayout 219 2.4.2 BorderLayout 221 2.4.3 GridLayout 226 2.4.4 BoxLayout 228 2.4.5 GridBagLayout 232 2.4.6 Sin renderizador 237 2.5 Los componentes gráficos 240 2.5.1 La clase JComponent 240 2.5.2 Visualización de la información 243 2.5.3 Los componentes de edición de texto 248 2.5.4 Los componentes de activación de acciones 255 2.5.5 Los componentes de selección 262 Los applets 1. Principio de funcionamiento 271 2. Creación de un applet 272 2.1 Ciclo de vida de un applet 273 2.1.1 Métodos relacionados con el ciclo de vida del applet 273 2.1.2 Métodos de gestión del aspecto gráfico del applet 274 2.2 Construir la interfaz usuario de un applet 277 2.2.1 Creación de una fuente de caracteres 278 2.2.2 Obtener las dimensiones del applet 278 2.2.3 Dibujar los caracteres 279 2.2.4 Determinar las dimensiones de una cadena 279 5/8
2.3 Las imágenes en los applets 284 2.3.1 Carga de una imagen 285 2.3.2 Tratamiento de la imagen 286 2.3.3 Trazado de la imagen 287 2.4 Los hilos en los applets 290 2.4.1 Creación de un nuevo hilo 292 2.4.2 Definir el tratamiento a efectuar 292 2.4.3 Lanzar y parar un hilo 295 2.5 Los sonidos en los applets 297 3. Despliegue de un applet 298 3.1 Inserción en una página html 299 3.1.1 Etiqueta <applet> 299 3.1.2 Etiqueta <object> 301 3.1.3 Etiqueta <embed> 303 3.2 Configuración de un applet 304 3.2.1 Definir los parámetros 304 3.2.2 Recuperación de los parámetros en el applet 305 3.3 Seguridad en un applet 306 3.4 Comunicación entre applets 307 3.5 Interacción con el navegador y el sistema 309 3.5.1 Visualización en la consola 309 3.5.2 Utilización de la barra de estado del navegador 312 3.5.3 Visualización de una página html 312 3.5.4 Obtener ciertas propiedades del sistema 313 Acceso a las bases de datos 1. Principios del funcionamiento de una base de datos 317 1.1 Terminología 317 1.2 El lenguaje SQL 318 1.2.1 Búsqueda de informaciones 319 1.2.2 Inserción de datos 320 1.2.3 Actualización de datos 321 6/8
1.2.4 Supresión de datos 322 2. Acceso a una base de datos desde Java 322 2.1 Presentación de jdbc 324 2.2 Carga del driver 325 2.3 Establecer y manipular la conexión 326 2.3.1 Establecer la conexión 326 2.3.2 Manipular la conexión 328 2.4 Ejecución de instrucciones SQL 333 2.4.1 Ejecución de instrucciones básicas con el objeto Statement 333 2.4.2 Ejecución de instrucciones configuradas con el objeto PreparedStatement 341 2.4.3 Ejecución de procedimientos almacenados con el objeto CallableStatement 345 2.5 Utilización de los juegos de registros con la interfaz Resultset 348 2.5.1 Posicionamiento en un ResultSet 350 2.5.2 Lectura de los datos en un ResultSet 352 2.5.3 Modificación de los datos en un ResultSet 355 2.5.4 Supresión de datos en un ResultSet 358 2.5.5 Inserción de datos en un ResultSet 360 2.6 Gestión de las transacciones 361 2.6.1 Puesta en marcha de las transacciones 363 2.6.2 Puntos de salvaguardia 364 2.6.3 Niveles de aislamiento 364 Despliegue de aplicaciones 1. Archivos Java 367 1.1 Presentación 367 1.2 Manipulación de un archivo 368 1.2.1 Creación de un archivo 368 1.2.2 Visualización del contenido 369 1.2.3 Extracción 370 1.2.4 Actualización 370 1.2.5 Ejecución 371 1.3 El manifest 371 7/8
1.3.1 Presentación 371 1.3.2 Creación 372 2. Java Web Start 373 2.1 Presentación 373 2.2 Ejecución de una aplicación 373 2.2.1 Desde un navegador 373 2.2.2 Desde el cache local 374 2.3 Despliegue de una aplicación 377 2.3.1 Configuración del servidor Web 377 2.3.2 Creación del fichero JNLP 380 2.3.3 Desplegar la aplicación en el servidor 383 2.3.4 Creación de la página Web de inicio 386 índice 387 8/8