PRÓLOGO
CAPÍTULO 1. MI PRIMERA APLICACIÓN
FORMULARIOS
BIBLIOTECA JFC
ESTRUCTURA DE UNA APLICACIÓN
Compilar y ejecutar la aplicación
DISEÑO DE LA INTERFAZ GRÁFICA
Crear un componente Swing
Componentes Swing más comunes
Contenedores
Administradores de diseño
Añadir los componentes al contenedor
Asignar un administrador de diseño
Añadir una etiqueta y editar sus propiedades
Añadir un botón de pulsación y editar sus propiedades
MANEJO DE EVENTOS
Asignar manejadores de eventos a un objeto
Adaptadores
Responder a los eventos
ESTABLECER LA APARIENCIA DE LAS VENTANAS
RESUMEN
EJERCICIOS PROPUESTOS
CAPÍTULO 2. JFC (SWING)
COMPONENTES SWING
ARQUITECTURA MODELO-VISTA-CONTROLADOR.... 31
MANEJADORES DE EVENTOS DE SWING
JERARQUÍA DE COMPONENTES DE UNA APLICACIÓN
CAJAS DE TEXTO, ETIQUETAS Y BOTONES
Desarrollo de la aplicación
Objetos
Eventos
Pasos a seguir durante el desarrollo
El formulario, los componentes y sus propiedades
Tecla de acceso
Botón por omisión
Responder a los eventos
Enfocar un objeto
Seleccionar el texto de una caja de texto
INTERCEPTAR LA TECLA PULSADA
VALIDAR UN CAMPO DE TEXTO
CREAR UN CAMPO DE TEXTO VALIDADO
RESUMEN
EJERCICIOS RESUELTOS
Diseño de una calculadora
Objetos
Eventos
Pasos a seguir durante el desarrollo
Diseño de la ventana y de los controles.. 56
Establecer una fuente
Color
Escribir el código
EJERCICIOS PROPUESTOS
CAPÍTULO 3. BARRAS DE HERRAMIENTAS
MENÚS
DISEÑO DE UNA BARRA DE MENÚS
Aceleradores y nemónicos
BARRA DE HERRAMIENTAS
Utilizar imágenes en botones
Diseño de una barra de herramientas
DESARROLLO DE UN EDITOR DE TEXTOS
Caja de texto multilínea
Panel de desplazamiento
Diseño del editor
El portapapeles
Trabajar con texto seleccionado
Diseño de la barra de menús
Diseño de la barra de herramientas
Asociar un método con un elemento de un menú
Archivo - Salir
Edición - Cortar
Edición - Copiar
Edición - Pegar
Opciones - Fuente
Opciones - Tamaño
Habilitar o inhabilitar los elementos de un menú
Marcar el menú seleccionado
Grupo de botones
Deshacer y rehacer
Recordar las ediciones reversibles
Añadir a la interfaz las órdenes Deshacer y Rehacer
MENÚS EMERGENTES
ASOCIAR UN ICONO A LA APLICACIÓN
REDIMENSIONAR UN COMPONENTE
RESUMEN
EJERCICIOS RESUELTOS
EJERCICIOS PROPUESTOS
CAPÍTULO 4. CAJAS DE DIÁLOGO
CAJAS DE DIÁLOGO MODALES Y NO MODALES... 122
CAJAS DE DIÁLOGO PREDEFINIDAS
Visualizar datos con showMessageDialog... 122
Confirmar datos con showConfirmDialog... 123
Requerir datos con showInputDialog
Diálogo modal personalizado
Utilización de diálogos predefinidos
CAJAS DE DIÁLOGO PERSONALIZADAS
CASILLAS DE VERIFICACIÓN
BOTONES DE OPCIÓN
LISTAS SIMPLES
Diseñar la lista
Iniciar la lista
Acceder a los elementos seleccionados.. 145
Modelos de una lista simple
LISTAS DESPLEGABLES
Diseñar la lista
Iniciar la lista
Acceder al elemento seleccionado
Modelo de una lista desplegable
COMPONENTES DE RANGO DEFINIDO
JScrollBar
JSlider
JProgressBar
CAJAS DE DIÁLOGO ESTÁNDAR
Cajas de diálogo Abrir y Guardar
Propiedades
Filtros
Caja de diálogo Color
RESUMEN
EJERCICIOS RESUELTOS
EJERCICIOS PROPUESTOS
CAPÍTULO 5. TABLAS Y ÁRBOLES
TABLAS
Construir una tabla
Iniciar la tabla
Modelos de una tabla
Crear un nuevo modelo para la tabla
Tamaño de las celdas
Acceder al valor de la celda seleccionada
ÁRBOLES
Construir un árbol
Iniciar el árbol
Modelos de un árbol
Acceder al nodo seleccionado
Añadir y borrar nodos
Añadir nodo
Borrar nodo
Borrar todos los nodos
Personalizar el aspecto de un árbol
EJERCICIOS RESUELTOS
Iniciar la tabla
Iniciar la ventana de la aplicación
Manejo de la aplicación
EJERCICIOS PROPUESTOS
CAPÍTULO 6. J2EE
INTRODUCCIÓN
¿QUÉ ES J2EE?
ARQUITECTURA J2EE MULTICAPA
Componentes J2EE
Contenedores J2EE
Tipos
Otros servicios J2EE
PRÁCTICAS EN EL DESARROLLO
La capa cliente
La capa Web
La capa EJB
CAPÍTULO 7. ACCESO A UNA BASE DE DATOS... 245
SQL
Crear una base de datos
Crear una tabla
Escribir datos en la tabla
Modificar datos de una tabla
Borrar registros de una tabla
Seleccionar datos de una tabla
Un ejemplo con una sola tabla
Descripción del escenario
Creación de la base de datos y de sus tablas
Utilizando MySQL
Insertar datos en la base de datos
Modificar datos en la base de datos
Borrar registros de una tabla
Obtener datos de la base de datos
Un ejemplo con varias tablas
ACCESO A UNA BASE DE DATOS CON JDBC
Controladores
Descripción del escenario
Creación de la base de datos
Creación de las tablas
Conectando con la base de datos
Cargar el controlador
Conectar con la fuente de datos
Recuperar datos de la base de datos
Metadatos
Obtener datos de un conjunto de resultados
Insertar, actualizar y borrar datos en la base de datos
Navegar por la base de datos
EJEMPLO DE ACCESO A DATOS
EJERCICIOS RESUELTOS
EJERCICIOS PROPUESTOS
CAPÍTULO 8. CLIENTES
¿QUÉ ES INTERNET?
Intranet
Terminología Internet
SERVICIOS EN INTERNET
PÁGINAS WEB
Qué es HTML
Etiquetas básicas HTML
Etiquetas de formato de texto
URL
Enlaces entre páginas
Gráficos
Marcos
Formularios
Entrada básica de datos
Caja de texto
Caja de clave de acceso... 312
Casilla de verificación... 312
Botón de opción
Parámetros ocultos
Enviar datos
Borrar los datos de un formulario
Imágenes
Orden de tabulación
Caja de texto multilínea
Listas desplegables
Tablas
HOJAS DE ESTILO
Clases
Etiquetas <span> y <div>
XML
XHTML
PÁGINAS WEB DINÁMICAS
APPLETS
Crear un applet
La clase JApplet
public void init()
public void start()
public void paint(Graphics g)
public void stop()
public void destroy().. 331
Un ejemplo simple
Ciclo de vida de un applet
Pasar parámetros a un applet
Mostrar una imagen
Reproducir un fichero de sonido
Mostrar información en la barra de estado
Crear una animación
Restricciones de seguridad con los applets
Instalación de un applet en un servidor.. 348
EJERCICIOS RESUELTOS
EJERCICIOS PROPUESTOS
CAPÍTULO 9. SERVLETS
¿QUÉ ES UN SERVLET?
Características de un servlet
ESTRUCTURA DE UN SERVLET
Ciclo de vida de un servlet
Un servlet sencillo
Software necesario para ejecutar un servlet
EJECUTAR UN SERVLET EN EL SERVIDOR
INCLUIR PROCESOS ESCRITOS EN JAVA
INVOCAR AL SERVLET DESDE UNA PÁGINA HTML
PROCESAR FORMULARIOS
Tipos de peticiones
Petición HTTP GET
Petición HTTP POST
LEER LOS DATOS ENVIADOS POR EL CLIENTE.... 370
DESCRIPTOR DE DESPLIEGUE
INICIACIÓN DE UN SERVLET
SEGUIMIENTO DE UNA SESIÓN
Cookies
Identificar al cliente
Reescritura del URL
Parámetros ocultos en los formularios.. 384
Interfaz HttpSession
Obtener una sesión
Datos asociados con una sesión
Cancelar una sesión
SERVLETS Y JDBC
Creación de la base de datos
Creación de las tablas
Aplicación
SERVICIO DE CONEXIONES
EMPAQUETAR UNA APLICACIÓN WEB
INSTALAR UNA APLICACIÓN WEB EN EL SERVIDOR
TRANSFERIR EL CONTROL A OTRO COMPONENTE WEB
EJERCICIOS RESUELTOS
EJERCICIOS PROPUESTOS
CAPÍTULO 10. JSP
¿CÓMO TRABAJA UNA PÁGINA JSP?
Ciclo de vida de una página JSP
Objetos implícitos
Ámbito de los atributos
Ámbito de aplicación
Ámbito de sesión
Ámbito de petición
Ámbito de página
Fijar un atributo con un ámbito específico
¿Cuándo utilizar uno u otro ámbito?
Ejemplo
LENGUAJE DE EXPRESIÓN EN JSP 2
Objetos implícitos
Comentarios
Directrices
Directriz page
Directriz include
Directriz taglib
Elementos de programación
Declaraciones
Expresiones
Fragmentos de código Java
Ejemplo
Activar el lenguaje de expresión (LE).. 445
Ejemplo
Variables y expresiones
Operadores
Prioridad y orden de evaluación
Ejemplo
Palabras reservadas
Funciones
COMPONENTES SOFTWARE: JavaBeans
Normas de diseño
Crear y utilizar un componente JavaBean... 455
Establecer y obtener el valor de las propiedades
Instalación en el servidor
BIBLIOTECA ESTÁNDAR DE ETIQUETAS
Operaciones con etiquetas básicas
Operaciones con etiquetas SQL
Conectar con la base de datos
Realizar una consulta a la base de datos
Realizar una modificación sobre la base de datos
Ejemplo
API de Java
ETIQUETAS PERSONALIZADAS
Tipos de etiquetas
Etiqueta definida mediante una clase
Etiqueta con atributos
Etiqueta definida mediante un fichero... 472
Ejemplo
Directrices
Atributos de la directriz attribute
Atributos de la directriz variable
Fragmentos
ETIQUETAS PERSONALIZADAS VS. JavaBeans.. 479
MANIPULACIÓN DE EXCEPCIONES
TRANSFERIR EL CONTROL A OTRO COMPONENTE WEB
FORMULARIOS
Parámetros de las casillas de verificación
Solicitar datos mediante listas (menús).. 484
APLICACIONES WEB UTILIZANDO JSP
Modelo 1
Modelo 2
JSP Y JDBC
EJERCICIOS RESUELTOS
EJERCICIOS PROPUESTOS
CAPÍTULO 11. SERVICIOS WEB
SERVICIOS WEB DESARROLLADOS CON HERRAMIENTAS RAD
Crear un nuevo servicio Web XML
Cómo se construye un servicio Web
Escribir la interfaz del servicio Web... 511
Crear un cliente del servicio Web
Aplicación Java como cliente de un servicio Web
Descubrimiento de servicios Web XML
Obtener acceso al servicio Web XML
Aplicación Web como cliente de un servicio Web
Invocar al servicio Web desde una página JSP
Invocar al servicio Web desde un servlet
SERVICIOS WEB DESARROLLADOS SIN HERRAMIENTAS RAD
Crear un servicio Web XML
Compilar el servicio Web
Generar los artefactos del servicio Web en el lado del servidor
Empaquetar el servicio Web
Desplegar en servicio Web en el servidor GlassFish
Probar el servicio
Generar los artefactos del servicio Web en el lado del cliente
Escribir clase correspondiente al cliente
Compilar el cliente del servicio Web
Ejecutar el cliente
EJERCICIOS RESUELTOS
EJERCICIOS PROPUESTOS
CAPÍTULO 12. JSF
DESARROLLO DE UNA APLICACIÓN JSF
FacesServlet
Crear las páginas JSF
Añadir un componente
Añadir un fichero de propiedades
Añadir una nueva página
Definir la navegación entre páginas
Desarrollar los beans de apoyo
Convertidores
Configuración para los beans de apoyo... 559
Desplegar la aplicación
Validación de los datos
Caja de texto vacía
Visualizando mensajes
Valor fuera de rango
Mensaje personalizado
Iniciación de las propiedades de un bean
VISUAL WEB JAVASERVER FACES
Añadir componentes a una página JSF
Añadir una página JSF al proyecto
Definir la navegación entre páginas
Completar los beans de apoyo
Convertidores
Configuración para los beans de apoyo... 573
Desplegar la aplicación
Validación de los datos
Caja de texto vacía
Visualizando mensajes
Valor fuera de rango
Mensaje personalizado
CICLO DE VIDA DE UNA PÁGINA JSF
CONECTANDO CON BASES DE DATOS
Conectar una página a una base de datos.. 580
Conjunto de filas
Proveedor de datos
Vincular un componente con el origen de datos
Vincular una lista desplegable
Modificar registros en la base de datos.. 586
Añadir un registro a la base de datos.. 588
Borrar un registro de la base de datos.. 589
Deshacer los cambios previos
EJERCICIOS PROPUESTOS
CAPÍTULO 13. AJAX
FUNDAMENTOS DE AJAX
XMLHttpRequest
GENERACIÓN DE CÓDIGO JAVASCRIPT
Fichero JavaScript
JSF MÁS AJAX
UTILIZANDO DYNAMIC FACES
Configurando una aplicación para Dynamic Faces
Proyecto JSF con tecnología AJAX
Configurar el proyecto
Objeto Lifecycle
Crear la página con tecnología AJAX
Verificar cómo funciona la aplicación... 613
EJERCICIOS PROPUESTOS
APÉNDICES
ÍNDICE