CONTENIDO

 

PRÓLOGO

CAPÍTULO 1. MI PRIMERA APLICACIÓN..... 1

FORMULARIOS... 3

BIBLIOTECA JFC.... 5

ESTRUCTURA DE UNA APLICACIÓN..... 6

Compilar y ejecutar la aplicación... 10

DISEÑO DE LA INTERFAZ GRÁFICA..... 12

Crear un componente Swing... 12

Componentes Swing más comunes.. 12

Contenedores.. 13

Administradores de diseño... 14

Añadir los componentes al contenedor.. 15

Asignar un administrador de diseño... 15

Añadir una etiqueta y editar sus propiedades.. 16

Añadir un botón de pulsación y editar sus propiedades.. 17

MANEJO DE EVENTOS... 19

Asignar manejadores de eventos a un objeto... 20

Adaptadores.. 22

Responder a los eventos.. 23

ESTABLECER LA APARIENCIA DE LAS VENTANAS... 24

RESUMEN..... 25

EJERCICIOS PROPUESTOS... 25

 

 

CAPÍTULO 2. JFC (SWING).. 27

COMPONENTES SWING..... 28

ARQUITECTURA MODELO-VISTA-CONTROLADOR.... 31

MANEJADORES DE EVENTOS DE SWING..... 32

JERARQUÍA DE COMPONENTES DE UNA APLICACIÓN..... 35

CAJAS DE TEXTO, ETIQUETAS Y BOTONES... 36

Desarrollo de la aplicación... 37

Objetos.. 37

Eventos.. 37

Pasos a seguir durante el desarrollo... 37

El formulario, los componentes y sus propiedades.. 38

Tecla de acceso... 42

Botón por omisión... 42

Responder a los eventos.. 42

Enfocar un objeto... 45

Seleccionar el texto de una caja de texto... 46

INTERCEPTAR LA TECLA PULSADA..... 48

VALIDAR UN CAMPO DE TEXTO..... 49

CREAR UN CAMPO DE TEXTO VALIDADO..... 52

RESUMEN..... 54

EJERCICIOS RESUELTOS... 55

Diseño de una calculadora... 55

Objetos.. 56

Eventos.. 56

Pasos a seguir durante el desarrollo... 56

Diseño de la ventana y de los controles.. 56

Establecer una fuente... 60

Color.. 61

Escribir el código... 61

EJERCICIOS PROPUESTOS... 71

 

CAPÍTULO 3. BARRAS DE HERRAMIENTAS... 73

MENÚS... 73

DISEÑO DE UNA BARRA DE MENÚS... 74

Aceleradores y nemónicos.. 80

BARRA DE HERRAMIENTAS... 81

Utilizar imágenes en botones.. 81

Diseño de una barra de herramientas.. 83

DESARROLLO DE UN EDITOR DE TEXTOS... 85

Caja de texto multilínea... 86

Panel de desplazamiento... 86

Diseño del editor.. 87

El portapapeles.. 90

Trabajar con texto seleccionado... 92

Diseño de la barra de menús.. 93

Diseño de la barra de herramientas.. 95

Asociar un método con un elemento de un menú... 96

Archivo - Salir.. 97

Edición - Cortar.. 97

Edición - Copiar.. 98

Edición - Pegar.. 99

Opciones - Fuente... 100

Opciones - Tamaño... 102

Habilitar o inhabilitar los elementos de un menú... 103

Marcar el menú seleccionado... 105

Grupo de botones.. 106

Deshacer y rehacer.. 107

Recordar las ediciones reversibles.. 107

Añadir a la interfaz las órdenes Deshacer y Rehacer.. 108

MENÚS EMERGENTES... 109

ASOCIAR UN ICONO A LA APLICACIÓN..... 111

REDIMENSIONAR UN COMPONENTE.... 112

RESUMEN..... 114

EJERCICIOS RESUELTOS... 114

EJERCICIOS PROPUESTOS... 118

 

CAPÍTULO 4. CAJAS DE DIÁLOGO..... 121

CAJAS DE DIÁLOGO MODALES Y NO MODALES... 122

CAJAS DE DIÁLOGO PREDEFINIDAS... 122

Visualizar datos con showMessageDialog... 122

Confirmar datos con showConfirmDialog... 123

Requerir datos con showInputDialog... 124

Diálogo modal personalizado... 126

Utilización de diálogos predefinidos.. 126

CAJAS DE DIÁLOGO PERSONALIZADAS... 128

CASILLAS DE VERIFICACIÓN..... 132

BOTONES DE OPCIÓN..... 135

LISTAS SIMPLES... 142

Diseñar la lista... 143

Iniciar la lista... 145

Acceder a los elementos seleccionados.. 145

Modelos de una lista simple... 146

LISTAS DESPLEGABLES... 148

Diseñar la lista... 149

Iniciar la lista... 151

Acceder al elemento seleccionado... 151

Modelo de una lista desplegable... 152

COMPONENTES DE RANGO DEFINIDO..... 153

JScrollBar.. 154

JSlider.. 157

JProgressBar.. 159

CAJAS DE DIÁLOGO ESTÁNDAR.... 162

Cajas de diálogo Abrir y Guardar.. 164

Propiedades.. 166

Filtros.. 166

Caja de diálogo Color.. 168

RESUMEN..... 169

EJERCICIOS RESUELTOS... 170

EJERCICIOS PROPUESTOS... 184

 

CAPÍTULO 5. TABLAS Y ÁRBOLES... 187

TABLAS... 187

Construir una tabla... 189

Iniciar la tabla... 191

Modelos de una tabla... 191

Crear un nuevo modelo para la tabla... 192

Tamaño de las celdas.. 193

Acceder al valor de la celda seleccionada... 194

ÁRBOLES... 195

Construir un árbol. 196

Iniciar el árbol. 199

Modelos de un árbol. 200

Acceder al nodo seleccionado... 201

Añadir y borrar nodos.. 204

Añadir nodo... 206

Borrar nodo... 208

Borrar todos los nodos.. 208

Personalizar el aspecto de un árbol. 209

EJERCICIOS RESUELTOS... 210

Iniciar la tabla... 217

Iniciar la ventana de la aplicación... 221

Manejo de la aplicación... 222

EJERCICIOS PROPUESTOS... 231

 

CAPÍTULO 6. J2EE.... 233

INTRODUCCIÓN..... 233

¿QUÉ ES J2EE?... 235

ARQUITECTURA J2EE MULTICAPA..... 236

Componentes J2EE.... 237

Contenedores J2EE.... 239

Tipos.. 240

Otros servicios J2EE.... 241

PRÁCTICAS EN EL DESARROLLO..... 241

La capa cliente... 242

La capa Web... 243

La capa EJB.... 244

 

CAPÍTULO 7. ACCESO A UNA BASE DE DATOS... 245

SQL.... 246

Crear una base de datos.. 246

Crear una tabla... 246

Escribir datos en la tabla... 248

Modificar datos de una tabla... 248

Borrar registros de una tabla... 249

Seleccionar datos de una tabla... 249

Un ejemplo con una sola tabla... 251

Descripción del escenario... 251

Creación de la base de datos y de sus tablas.. 251

Utilizando MySQL.... 252

Insertar datos en la base de datos.. 253

Modificar datos en la base de datos.. 254

Borrar registros de una tabla... 254

Obtener datos de la base de datos.. 254

Un ejemplo con varias tablas.. 255

ACCESO A UNA BASE DE DATOS CON JDBC.... 259

Controladores.. 261

Descripción del escenario... 261

Creación de la base de datos.. 261

Creación de las tablas.. 262

Conectando con la base de datos.. 264

Cargar el controlador.. 264

Conectar con la fuente de datos.. 265

Recuperar datos de la base de datos.. 267

Metadatos.. 268

Obtener datos de un conjunto de resultados.. 268

Insertar, actualizar y borrar datos en la base de datos.. 271

Navegar por la base de datos.. 271

EJEMPLO DE ACCESO A DATOS... 273

EJERCICIOS RESUELTOS... 279

EJERCICIOS PROPUESTOS... 293

 

CAPÍTULO 8. CLIENTES... 295

¿QUÉ ES INTERNET?... 295

Intranet 296

Terminología Internet. 296

SERVICIOS EN INTERNET.... 299

PÁGINAS WEB.... 302

Qué es HTML.... 303

Etiquetas básicas HTML.... 303

Etiquetas de formato de texto... 304

URL.... 306

Enlaces entre páginas.. 307

Gráficos.. 308

Marcos.. 309

Formularios.. 311

Entrada básica de datos.. 311

Caja de texto... 311

Caja de clave de acceso... 312

Casilla de verificación... 312

Botón de opción... 312

Parámetros ocultos.. 313

Enviar datos.. 313

Borrar los datos de un formulario... 313

Imágenes.. 314

Orden de tabulación... 314

Caja de texto multilínea... 314

Listas desplegables.. 314

Tablas.. 317

HOJAS DE ESTILO..... 318

Clases.. 320

Etiquetas <span> y <div>... 321

XML.... 323

XHTML.... 324

PÁGINAS WEB DINÁMICAS... 324

APPLETS... 327

Crear un applet. 327

La clase JApplet. 330

public void init().. 330

public void start().. 330

public void paint(Graphics g).. 331

public void stop().. 331

public void destroy().. 331

Un ejemplo simple... 331

Ciclo de vida de un applet. 335

Pasar parámetros a un applet. 335

Mostrar una imagen... 337

Reproducir un fichero de sonido... 340

Mostrar información en la barra de estado... 342

Crear una animación... 342

Restricciones de seguridad con los applets.. 347

Instalación de un applet en un servidor.. 348

EJERCICIOS RESUELTOS... 348

EJERCICIOS PROPUESTOS... 352

 

CAPÍTULO 9. SERVLETS... 353

¿QUÉ ES UN SERVLET?... 353

Características de un servlet. 354

ESTRUCTURA DE UN SERVLET.... 354

Ciclo de vida de un servlet. 356

Un servlet sencillo... 358

Software necesario para ejecutar un servlet. 359

EJECUTAR UN SERVLET EN EL SERVIDOR.... 360

INCLUIR PROCESOS ESCRITOS EN JAVA..... 362

INVOCAR AL SERVLET DESDE UNA PÁGINA HTML.... 366

PROCESAR FORMULARIOS... 366

Tipos de peticiones.. 369

Petición HTTP GET.... 369

Petición HTTP POST.... 370

LEER LOS DATOS ENVIADOS POR EL CLIENTE.... 370

DESCRIPTOR DE DESPLIEGUE.... 373

INICIACIÓN DE UN SERVLET.... 375

SEGUIMIENTO DE UNA SESIÓN..... 376

Cookies.. 377

Identificar al cliente... 380

Reescritura del URL.... 384

Parámetros ocultos en los formularios.. 384

Interfaz HttpSession... 384

Obtener una sesión... 385

Datos asociados con una sesión... 385

Cancelar una sesión... 387

SERVLETS Y JDBC.... 389

Creación de la base de datos.. 390

Creación de las tablas.. 390

Aplicación... 395

SERVICIO DE CONEXIONES... 403

EMPAQUETAR UNA APLICACIÓN WEB.... 404

INSTALAR UNA APLICACIÓN WEB EN EL SERVIDOR.... 405

TRANSFERIR EL CONTROL A OTRO COMPONENTE WEB.... 407

EJERCICIOS RESUELTOS... 408

EJERCICIOS PROPUESTOS... 426

 

CAPÍTULO 10. JSP.... 429

¿CÓMO TRABAJA UNA PÁGINA JSP?... 429

Ciclo de vida de una página JSP... 432

Objetos implícitos.. 434

Ámbito de los atributos.. 435

Ámbito de aplicación... 436

Ámbito de sesión... 436

Ámbito de petición... 436

Ámbito de página... 437

Fijar un atributo con un ámbito específico... 437

¿Cuándo utilizar uno u otro ámbito?... 438

Ejemplo... 438

LENGUAJE DE EXPRESIÓN EN JSP 2... 439

Objetos implícitos.. 440

Comentarios.. 441

Directrices.. 441

Directriz page... 441

Directriz include... 442

Directriz taglib... 443

Elementos de programación... 444

Declaraciones.. 444

Expresiones.. 444

Fragmentos de código Java... 444

Ejemplo... 445

Activar el lenguaje de expresión (LE).. 445

Ejemplo... 445

Variables y expresiones.. 447

Operadores.. 449

Prioridad y orden de evaluación... 449

Ejemplo... 450

Palabras reservadas.. 450

Funciones.. 451

COMPONENTES SOFTWARE: JavaBeans.. 453

Normas de diseño... 454

Crear y utilizar un componente JavaBean... 455

Establecer y obtener el valor de las propiedades.. 456

Instalación en el servidor.. 458

BIBLIOTECA ESTÁNDAR DE ETIQUETAS... 458

Operaciones con etiquetas básicas.. 459

Operaciones con etiquetas SQL.... 462

Conectar con la base de datos.. 462

Realizar una consulta a la base de datos.. 462

Realizar una modificación sobre la base de datos.. 462

Ejemplo... 464

API de Java... 465

ETIQUETAS PERSONALIZADAS... 466

Tipos de etiquetas.. 466

Etiqueta definida mediante una clase... 467

Etiqueta con atributos.. 469

Etiqueta definida mediante un fichero... 472

Ejemplo... 473

Directrices.. 474

Atributos de la directriz attribute... 474

Atributos de la directriz variable... 476

Fragmentos.. 478

ETIQUETAS PERSONALIZADAS VS. JavaBeans.. 479

MANIPULACIÓN DE EXCEPCIONES... 480

TRANSFERIR EL CONTROL A OTRO COMPONENTE WEB.... 481

FORMULARIOS... 482

Parámetros de las casillas de verificación... 483

Solicitar datos mediante listas (menús).. 484

APLICACIONES WEB UTILIZANDO JSP... 487

Modelo 1... 487

Modelo 2... 488

JSP Y JDBC.... 489

EJERCICIOS RESUELTOS... 490

EJERCICIOS PROPUESTOS... 499

 

CAPÍTULO 11. SERVICIOS WEB.... 507

SERVICIOS WEB DESARROLLADOS CON HERRAMIENTAS RAD..... 508

Crear un nuevo servicio Web XML.... 508

Cómo se construye un servicio Web... 510

Escribir la interfaz del servicio Web... 511

Crear un cliente del servicio Web... 515

Aplicación Java como cliente de un servicio Web... 515

Descubrimiento de servicios Web XML.... 517

Obtener acceso al servicio Web XML.... 520

Aplicación Web como cliente de un servicio Web... 522

Invocar al servicio Web desde una página JSP... 523

Invocar al servicio Web desde un servlet. 526

SERVICIOS WEB DESARROLLADOS SIN HERRAMIENTAS RAD..... 529

Crear un servicio Web XML.... 530

Compilar el servicio Web... 532

Generar los artefactos del servicio Web en el lado del servidor.. 532

Empaquetar el servicio Web... 533

Desplegar en servicio Web en el servidor GlassFish... 533

Probar el servicio... 533

Generar los artefactos del servicio Web en el lado del cliente... 533

Escribir clase correspondiente al cliente... 534

Compilar el cliente del servicio Web... 535

Ejecutar el cliente... 536

EJERCICIOS RESUELTOS... 536

EJERCICIOS PROPUESTOS... 544

 

CAPÍTULO 12. JSF.... 545

DESARROLLO DE UNA APLICACIÓN JSF... 546

FacesServlet. 548

Crear las páginas JSF... 548

Añadir un componente... 550

Añadir un fichero de propiedades.. 551

Añadir una nueva página... 553

Definir la navegación entre páginas.. 554

Desarrollar los beans de apoyo... 555

Convertidores.. 558

Configuración para los beans de apoyo... 559

Desplegar la aplicación... 559

Validación de los datos.. 560

Caja de texto vacía... 560

Visualizando mensajes.. 560

Valor fuera de rango... 561

Mensaje personalizado... 562

Iniciación de las propiedades de un bean... 563

VISUAL WEB JAVASERVER FACES... 563

Añadir componentes a una página JSF... 566

Añadir una página JSF al proyecto... 568

Definir la navegación entre páginas.. 569

Completar los beans de apoyo... 570

Convertidores.. 572

Configuración para los beans de apoyo... 573

Desplegar la aplicación... 573

Validación de los datos.. 574

Caja de texto vacía... 574

Visualizando mensajes.. 574

Valor fuera de rango... 575

Mensaje personalizado... 576

CICLO DE VIDA DE UNA PÁGINA JSF... 577

CONECTANDO CON BASES DE DATOS... 578

Conectar una página a una base de datos.. 580

Conjunto de filas.. 581

Proveedor de datos.. 582

Vincular un componente con el origen de datos.. 583

Vincular una lista desplegable... 584

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.. 590

EJERCICIOS PROPUESTOS... 590

 

CAPÍTULO 13. AJAX..... 593

FUNDAMENTOS DE AJAX..... 595

XMLHttpRequest. 596

GENERACIÓN DE CÓDIGO JAVASCRIPT.... 604

Fichero JavaScript. 605

JSF MÁS AJAX..... 606

UTILIZANDO DYNAMIC FACES... 607

Configurando una aplicación para Dynamic Faces.. 608

Proyecto JSF con tecnología AJAX..... 608

Configurar el proyecto... 608

Objeto Lifecycle... 609

Crear la página con tecnología AJAX..... 610

Verificar cómo funciona la aplicación... 613

EJERCICIOS PROPUESTOS... 614

 

APÉNDICES... 615

ÍNDICE.. .. 675