52
APLICACIÓN DE LA PROGRAMACIÓN ORIENTADA A OBJETOS PARA EL DESARROLLO DE UN PROGRAMA DE ALQUILER DE VIDEOS

PROGRAMACIÓN ORIENTADA A OBJETOS PARA ELDESARROLLO DE UN PROGRAMA DE ALQUILER DE VIDEOS

Embed Size (px)

DESCRIPTION

programa que simula el alquiler de videos

Citation preview

Page 1: PROGRAMACIÓN ORIENTADA A OBJETOS PARA ELDESARROLLO DE UN PROGRAMA DE ALQUILER DE VIDEOS

APLICACIÓN DE LA

PROGRAMACIÓN ORIENTADA A

OBJETOS PARA EL

DESARROLLO DE UN PROGRAMA

DE ALQUILER DE VIDEOS

Page 2: PROGRAMACIÓN ORIENTADA A OBJETOS PARA ELDESARROLLO DE UN PROGRAMA DE ALQUILER DE VIDEOS

Sumario

Introducción

CAPÍTULO I: GENERALIDADES - TERMINOLOGÍA

1. ¿Cómo surge el lenguaje de programación Java?

2. ¿Qué es Java?

3. PROGRAMACION ORIENTADA A OBJETOS

3.1. Ventajas de un Lenguaje Orientado a Objetos

a. Objeto

b. Clase

c. Método

d. Herencia

e. Abstracción

f. Polimorfismo

4. Variables

4.1. Nombres de Variables

4.2. Tipos Primitivos de Variables

5. Constructores

6. ARRAYS

6.1. Arrays bidimensionales

6.2. Métodos de la clase String

7. SENTENCIAS DE CONTROL DE FLUJO

7.1. Toma de decisiones

a. Sentencia if

b. Sentencia if else

c. Sentencia if elseif else

d. Sentencia switch

7.2 Bucles

a. Bucle while

b. Bucle for

c. Bucle do while

8. SWING

8.1. Características de swing

8.2. ¿Que tienen de diferente los componentes Swing de los

componentes AWT?

Page 3: PROGRAMACIÓN ORIENTADA A OBJETOS PARA ELDESARROLLO DE UN PROGRAMA DE ALQUILER DE VIDEOS

3

8.3. Componentes Swing

9. JDBC (Java DataBaseConectivity)

9.1. Conexión JDBC – ODBC

9.2. Pasos para hacer la conexión JDBC - ODBC

CAPITULO II: EMPLEOS Y USOS – APLICACIONES

Diseño de las pantallas preliminares

CAPITULO III: MANUAL DE USUARIO

CAPÍTULO IV: APLICACIÓN A UN CASO PRACTICO

CONCLUSIONES

BIBLIOGRAFÍA Y LINKGRAFÍA

ÍNDICE

Page 4: PROGRAMACIÓN ORIENTADA A OBJETOS PARA ELDESARROLLO DE UN PROGRAMA DE ALQUILER DE VIDEOS

4

Introducción

En la actualidad, existen casas de alquiler de videos, las cuales brindan su servicio al

cliente de una manera muy desordenada y deficiente, sin llevar un buen control tanto

ya sea de los videos que alquila como de sus clientes que atiende. Ya que aún

algunas de ellas conservan el viejo registro de uso manual para poder administrar su

sistema.

Con este presente trabajo de investigación y aplicación, se hará una simulación, de

cómo se podría ahorrar tiempo al alquilar un video, tener un registro de videos,

registro de clientes; para cuando vuelvan en otra ocasión a rentar un video, ya no se

tenga que volver a registrar, sino con una búsqueda hallarlo si se encuentra en la base

de datos o no. Y en otro caso si la casa o empresa de de alquiler de videos se podrá

registrar a sus empleados.

Page 5: PROGRAMACIÓN ORIENTADA A OBJETOS PARA ELDESARROLLO DE UN PROGRAMA DE ALQUILER DE VIDEOS

5

CAPÍTULO I: GENERALIDADES - TERMINOLOGÍA

1. ¿Cómo surge el lenguaje de programación Java?

Java surgió en 1991 cuando un grupo de ingenieros de Sun Microsystems trataron de

diseñar un nuevo lenguaje de programación destinado a electrodomésticos. La

reducida potencia de cálculo y memoria de los electrodomésticos llevó a desarrollar un

lenguaje sencillo capaz de generar código de tamaño muy reducido.

Debido a la existencia de distintos tipos de CPUs y a los continuos cambios, era

importante conseguir una herramienta independiente del tipo de CPU utilizada.

Desarrollan un código “neutro” que no depende del tipo de electrodoméstico, el cual se

ejecuta sobre una “máquina hipotética o virtual” denominada Java Virtual Machine

(JVM). Es la JVM quien interpreta el código neutro convirtiéndolo a código particular de

la CPU utilizada. Esto permitía lo que luego se ha convertido en el principal lema del

lenguaje: “Write Once, Run Everywhere”.

A pesar de los esfuerzos realizados por sus creadores, ninguna empresa de

electrodomésticos se interesó por el nuevo lenguaje.

Java, como lenguaje de programación para computadores, se introdujo a finales de

1995. La clave fue la incorporación de un intérprete Java en el programa Netscape

Navigator, versión 2.0, produciendo una verdadera revolución en Internet. Java 1.1

apareció a principios de 1997, mejorando sustancialmente la primera versión del

lenguaje. [www.programacion.com/java/tutorial/java_basico/]

2. ¿Qué es java?

Java es un lenguaje de programación con el que podemos realizar cualquier tipo de

programa. En la actualidad es un lenguaje muy extendido y cada vez cobra más

importancia tanto en el ámbito de Internet como en la informática en general. Está

desarrollado por la compañía Sun Microsystems con gran dedicación y siempre

enfocado a cubrir las necesidades tecnológicas más punteras. Una de las principales

características por las que Java se ha hecho muy famoso es que es un lenguaje

independiente de la plataforma. Eso quiere decir que si hacemos un programa en Java

podrá funcionar en cualquier ordenador del mercado. Es una ventaja significativa para

los desarrolladores de software, pues antes tenían que hacer un programa para cada

sistema operativo, por ejemplo Windows, Linux, Apple, etc.

[www.desarrolloweb.com/articulos/497.php]

Page 6: PROGRAMACIÓN ORIENTADA A OBJETOS PARA ELDESARROLLO DE UN PROGRAMA DE ALQUILER DE VIDEOS

6

3. PROGRAMACION ORIENTADA A OBJETOS

Es el paradigma de programación más utilizado en la actualidad. Su consistente base

teórica y la amplia gama de herramientas que permiten crear código a través de

diseños orientados a objetos la convierten en la alternativa más adecuada para el

desarrollo de aplicaciones.

3.1. Ventajas de un Lenguaje Orientado a Objetos

Fomenta la reutilización y extensión del código.

Permite crear sistemas más complejos.

Relacionar el sistema al mundo real.

Facilita la creación de programas visuales.

Construcción de prototipos

Agiliza el desarrollo de software

Facilita el trabajo en equipo

Facilita el mantenimiento del software

a. Objeto.- Es un conjunto de variables y de los métodos, necesarios para

manipular esa información. Los objetos se utilizan para modelar entidades reales

o lógicas en el dominio del problema.

Un objeto tiene 2 componentes: características (variables) y procedimientos

(métodos), tal como se aprecia la siguiente figura.

Figura 1: Componentes de un Objeto

Fuente: http://www.luis.izqui.org/resources/ProgOrientadaObjetos.pdf

Page 7: PROGRAMACIÓN ORIENTADA A OBJETOS PARA ELDESARROLLO DE UN PROGRAMA DE ALQUILER DE VIDEOS

7

b. Clase.- Es un conjunto de objetos, conocida como instancia de la clase. Una

clase describe tanto las estructuras de datos del objeto como sus operaciones

asociadas.

Contiene miembros que pueden ser campos (variables que almacenan datos y

objetos) y métodos (funciones que codifican operaciones, realizan cálculos y

devuelven resultados).

Algunas características importantes de las clases:

Todas las variables y funciones de Java deben pertenecer a una clase. No

hay variables y funciones globales.

Si una clase deriva de otra (extends), hereda todas sus variables y métodos.

Java tiene una jerarquía de clases estándar de la que pueden derivar las

clases que crean los usuarios.

Una clase sólo puede heredar de una única clase (en Java no hay herencia

múltiple). Si al definir una clase no se especifica de qué clase deriva, por

defecto la clase deriva de Object. La clase Object es la base de toda la

jerarquía de clases de Java.

En un fichero se pueden definir varias clases, pero en un fichero no puede

haber más que una clase public. Este fichero se debe llamar como la clase

public que contiene con extensión *.java. Con algunas excepciones, lo

habitual es escribir una sola clase por fichero.

Si una clase contenida en un fichero no es public, no es necesario que el

fichero se llame como la clase.

Los métodos de una clase pueden referirse de modo global al objeto de esa

clase al que se aplican por medio de la referencia this.

Las clases se pueden agrupar en packages, introduciendo una línea al

comienzo del fichero (package packageName;). Esta agrupación en packages

está relacionada con la jerarquía de directorios y ficheros en la que se

guardan las clases.

Declaración de una Clase

Debe empezar por una letra mayúscula.

class NombredeClase {

. . . }

Page 8: PROGRAMACIÓN ORIENTADA A OBJETOS PARA ELDESARROLLO DE UN PROGRAMA DE ALQUILER DE VIDEOS

8

La declaración de una clase puede decir más cosas sobre ella como:

Declarar cual es la superclase de la clase.

Listar los interfaces implementados por la clase.

Declarar si la clase es pública, abstracta o final.

c. Método.- Es una secuencia de instrucciones con nombre, que se definen dentro

de una clase, y realiza una tarea específica. Un método toma un conjunto de

información y lo utiliza para realizar un trabajo y, en algunos casos devolver

información.

Un método contiene un encabezado (define el nombre del método y el tipo de

valor de regreso) y un cuerpo (incluye una secuencia de declaraciones e

instrucciones encerrados entre llaves “{ }”).

d. Herencia.- Consiste en definir nuevas clases con base a otras ya existentes. La

clase derivada (la clase que proviene de otra clase) se llama Subclase y la clase

de la que está derivada se denomina Superclase. Las subclases heredan de la

superclase sus características y métodos, a los cuales pueden añadirle y/o

modificarle nuevas características y métodos.

Figura 2: Jerarquía de clases

Fuente: java.ciberaula.com/articulo/tecnologia_orientada_objetos/

Para indicar que una clase deriva de otra se utiliza la palabra extends.

class CirculoGrafico extends Circulo {

...}

Page 9: PROGRAMACIÓN ORIENTADA A OBJETOS PARA ELDESARROLLO DE UN PROGRAMA DE ALQUILER DE VIDEOS

9

La herencia permite:

La fácil modificación de código.

La reutilización del código.

La extracción de elementos comunes de clases diferentes.

La organización de los objetos en jerarquías.

e. Abstracción.- Consiste en captar tanto las características principales de una

clase como sus métodos, de este modo se podrá usar en otra clase similar que

no posea dichos componentes.

f. Polimorfismo.- Consiste en la relación que se establece entre la llamada a un

método y el código que efectivamente se asocia con dicha llamada. El

polimorfismo permite a los programadores separar las cosas que cambian de las

que no cambian, y de esta manera hacer más fácil la ampliación, el

mantenimiento y la reutilización de los programas.

El polimorfismo puede hacerse con referencias de super-clases abstract, super-

clases normales e interfaces. Por su mayor flexibilidad y por su independencia

de la jerarquía de clases estándar, las interfaces permiten ampliar muchísimo las

posibilidades del polimorfismo.

Page 10: PROGRAMACIÓN ORIENTADA A OBJETOS PARA ELDESARROLLO DE UN PROGRAMA DE ALQUILER DE VIDEOS

10

4. Variables

Una variable es un nombre que contiene un valor que puede cambiar a lo largo del

programa. De acuerdo con el tipo de información que contienen, en Java hay dos tipos

principales de variables:

1. Variables de tipos primitivos. Están definidas mediante un valor único.

2. Variables referencia. Las variables referencia son referencias o nombres de una

información más compleja: arrays u objetos de una determinada clase.

Desde el punto de vista de su papel en el programa, las variables pueden ser:

1. Variables miembro de una clase: Se definen en una clase, fuera de cualquier

método; pueden ser tipos primitivos o referencias.

2. Variables locales: Se definen dentro de un método o más en general dentro de

cualquier bloque entre llaves {}. Se crean en el interior del bloque y se destruyen al

finalizar dicho bloque. Pueden ser también tipos primitivos o referencias.

4.1. Nombres de Variables

Los nombres de variables en Java se pueden crear con mucha libertad. Pueden ser

cualquier conjunto de caracteres numéricos y alfanuméricos, sin algunos caracteres

especiales utilizados por Java como operadores o separadores (,.+-*/ etc.).

Existe una serie de palabras reservadas las cuales tienen un significado especial

para Java y por lo tanto no se pueden utilizar como nombres de variables. Dichas

palabras son:

Figura 3: Palabras reservadas en Java

Fuente: www.usuarios.lycos.es/manualesjava/manuales/aprender/aprender.pdf

Page 11: PROGRAMACIÓN ORIENTADA A OBJETOS PARA ELDESARROLLO DE UN PROGRAMA DE ALQUILER DE VIDEOS

11

4.2. Tipos Primitivos de Variables

Se llaman tipos primitivos de variables de Java a aquellas variables sencillas que

contienen los tipos de información más habituales: valores boolean, caracteres y

valores numéricos enteros o de punto flotante.

Java dispone de ocho tipos primitivos de variables: un tipo para almacenar valores

true y false (boolean); un tipo para almacenar caracteres (char), y 6 tipos para

guardar valores numéricos, cuatro tipos para enteros (byte, short, int y long) y dos

para valores reales de punto flotante (float y double).

Tabla 1: Tipos primitivos de variables

Fuente: www.usuarios.lycos.es/manualesjava/manuales/aprender/aprender.pdf

5. Constructores

Un constructor es un método que se llama automáticamente cada vez que se crea un

objeto de una clase. La principal misión del constructor es reservar memoria e

inicializar las variables miembro de la clase.

Los constructores no tienen valor de retorno (ni siquiera void) y su nombre es el mismo

que el de la clase. Su argumento implícito es el objeto que se está creando.

De ordinario una clase tiene varios constructores, que se diferencian por el tipo y

número de sus argumentos (son un ejemplo típico de métodos sobrecargados). Se

llama constructor por defecto al constructor que no tiene argumentos. El programador

debe proporcionar en el código valores iniciales adecuados para todas las variables

miembro.

Un constructor de una clase puede llamar a otro constructor previamente definido en la

misma clase por medio de la palabra this. En este contexto, la palabra this sólo puede

aparecer en la primera sentencia de un constructor.

Page 12: PROGRAMACIÓN ORIENTADA A OBJETOS PARA ELDESARROLLO DE UN PROGRAMA DE ALQUILER DE VIDEOS

12

El constructor de una sub-clase puede llamar al constructor de su super-clase por

medio de la palabra super, seguida de los argumentos apropiados entre paréntesis. De

esta forma, un constructor sólo tiene que inicializar por sí mismo las variables no

heredadas.

El constructor es tan importante que, si el programador no prepara ningún constructor

para una clase, el compilador crea un constructor por defecto, inicializando las

variables de los tipos primitivos a su valor por defecto, los Strings a la cadena vacía y

las referencias a objetos a null. Si hace falta, se llama al constructor de la super-clase

para que inicialice las variables heredadas.

6. ARRAYS

Los arrays de Java (vectores, matrices, hiper-matrices de más de dos dimensiones) se

tratan como objetos de una clase predefinida. Los arrays son objetos, pero con

algunas características propias.

Los arrays pueden ser asignados a objetos de la clase Object y los métodos de Object

pueden ser utilizados con arrays.

Algunas de sus características más importantes de los arrays son las siguientes:

Los arrays se crean con el operador new seguido del tipo y número de

elementos.

Se puede acceder al número de elementos de un array con la variable miembro

implícita length (por ejemplo, vect.length).

Se accede a los elementos de un array con los corchetes [] y un índice que

varía de 0 a length-1.

Se pueden crear arrays de objetos de cualquier tipo. En principio un array de

objetos es un array de referencias que hay que completar llamando al operador

new.

Los elementos de un array se inicializan al valor por defecto del tipo

correspondiente (cero para valores numéricos, la cadena vacía para Strings,

false para boolean, null para referencias).

Como todos los objetos, los arrays se pasan como argumentos a los métodos

por referencia.

Se pueden crear arrays anónimos (por ejemplo, crear un nuevo array como

argumento actual en la llamada a un método).

Page 13: PROGRAMACIÓN ORIENTADA A OBJETOS PARA ELDESARROLLO DE UN PROGRAMA DE ALQUILER DE VIDEOS

13

Inicialización de arrays:

Los arrays se pueden inicializar con valores entre llaves {...} separados por

comas.

También los arrays de objetos se pueden inicializar con varias llamadas a new

dentro de unas llaves {...}.

Si se igualan dos referencias a un array no se copia el array, sino que se tiene

un array con dos nombres, apuntando al mismo y único objeto.

Creación de una referencia a un array. Son posibles dos formas:

double[] x; // preferible

double x[];

Creación del array con el operador new:

x = new double[100];

Las dos etapas 4 y 5 se pueden unir en una sola:

double[] x = new double[100];

Ejemplos de creación de arrays:

// crear un array de 10 enteros, que por defecto se inicializan a cero

int v[] = new int[10];

// crear arrays inicializando con determinados valores

int v[] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};

String dias[] = {"lunes", "martes", "miercoles", "jueves",

"viernes", "sabado", "domingo"};

// array de 5 objetos

MiClase listaObj[] = new MiClase[5]; // de momento hay 5 referencias a null

for ( i = 0 ; i < 5;i++)

listaObj[i] = new MiClase(...);

// array anónimo

obj.metodo(new String[]={"uno", "dos", "tres"});

6.1. Arrays bidimensionales

Los arrays bidimensionales de Java se crean de un modo muy similar al de C++

(con reserva dinámica de memoria). En Java una matriz es un vector de vectores

fila, o más en concreto un vector de referencias a los vectores fila. Con este

esquema, cada fila podría tener un número de elementos diferente.

Una matriz se puede crear directamente en la forma, int [ ][ ] mat = new int[3][4]; o

bien se puede crear de modo dinámico dando los siguientes pasos:

Page 14: PROGRAMACIÓN ORIENTADA A OBJETOS PARA ELDESARROLLO DE UN PROGRAMA DE ALQUILER DE VIDEOS

14

Crear la referencia indicando con un doble corchete que es una referencia a

matriz,

int[ ][ ] mat;

Crear el vector de referencias a las filas,

mat = new int[nfilas][ ];

Reservar memoria para los vectores correspondientes a las filas,

for (int i=0; i<nfilas; i++);

mat[i] = new int[ncols];

A continuación se presentan algunos ejemplos de creación de arrays

bidimensionales:

// crear una matriz 3x3

// se inicializan a cero

double mat[ ][ ] = new double[3][3];

int [ ][ ] b = {{1, 2, 3},

{4, 5, 6}, // esta coma es permitida

};

int c = new[3][]; // se crea el array de referencias a arrays

c[0] = new int[5];

c[1] = new int[4];

c[2] = new int[8];

En el caso de una matriz b, b.length es el número de filas y b[0].length es el número

de columnas (de la fila 0). Por supuesto, los arrays bidimensionales pueden

contener tipos primitivos de cualquier tipo u objetos de cualquier clase.

Page 15: PROGRAMACIÓN ORIENTADA A OBJETOS PARA ELDESARROLLO DE UN PROGRAMA DE ALQUILER DE VIDEOS

15

6.2. Métodos de la clase String

Los objetos de la clase String se pueden crear a partir de cadenas constantes o

literals, definidas entre dobles comillas, como por ejemplo: "Hola". Java crea

siempre un objeto String al encontrar una cadena entre comillas. A continuación se

describen dos formas de crear objetos de la clase String:

String str1 = "Hola"; // el sistema más eficaz de crear Strings

String str2 = new String("Hola"); // también se pueden crear con un constructor

El primero de los métodos expuestos es el más eficiente, porque como al encontrar

un texto entre comillas se crea automáticamente un objeto String, en la práctica

utilizando new se llama al constructor dos veces. También se pueden crear objetos

de la clase String llamando a otros constructores de la clase, a partir de objetos

StringBuffer, y de arrays de bytes o de chars.

Tabla 2: Métodos de la clase String

Fuente: www.usuarios.lycos.es/manualesjava/manuales/aprender/aprender.pdf

Page 16: PROGRAMACIÓN ORIENTADA A OBJETOS PARA ELDESARROLLO DE UN PROGRAMA DE ALQUILER DE VIDEOS

16

7. SENTENCIAS DE CONTROL DE FLUJO

Las sentencias de control de flujo determinan el orden en que se ejecutarán las otras

sentencias dentro del programa. El lenguaje Java soporta varias sentencias de control

de flujo, incluyendo:

Sentencias palabras clave

Toma de decisiones: if-else, switch-case

Bucles: for, while, do-while

7.1. Toma de decisiones

a. Sentencia if

Esta estructura permite ejecutar un conjunto de sentencias en función del valor que

tenga la expresión de comparación (se ejecuta si la expresión de comparación tiene

valor true). Tiene la forma siguiente:

if (booleanExpression) {

statements;

}

Las llaves {} sirven para agrupar en un bloque las sentencias que se han de

ejecutar, y no son necesarias si sólo hay una sentencia dentro del if.

b. Sentencia if else

Análoga a la anterior, de la cual es una ampliación. Las sentencias incluidas en el

else se ejecutan en el caso de no cumplirse la expresión de comparación (false).

if (booleanExpression) {

statements1;

}

else {

statements2;

}

c. Sentencia if elseif else

Permite introducir más de una expresión de comparación. Si la primera condición

no se cumple, se compara la segunda y así sucesivamente. En el caso de que no

Page 17: PROGRAMACIÓN ORIENTADA A OBJETOS PARA ELDESARROLLO DE UN PROGRAMA DE ALQUILER DE VIDEOS

17

se cumpla ninguna de las comparaciones se ejecutan las sentencias

correspondientes al else.

if (booleanExpression1) {

statements1;

} else if (booleanExpression2) {

statements2;

} else if (booleanExpression3) {

statements3;

}

else {

statements4;

}

d. Sentencia switch

Se trata de una alternativa a la bifurcación if elseif else cuando se compara la

misma expresión con distintos valores. Su forma general es la siguiente:

switch (expression) {

case value1: statements1; break;

case value2: statements2; break;

case value3: statements3; break;

case value4: statements4; break;

case value5: statements5; break;

case value6: statements6; break;

[default: statements7;]

}

Las características más relevantes de switch son las siguientes:

1. Cada sentencia case se corresponde con un único valor de expresión. No se

pueden establecer rangos o condiciones sino que se debe comparar con valores

concretos.

2. Los valores no comprendidos en ninguna sentencia case se pueden gestionar en

default, que es opcional.

3. En ausencia de break, cuando se ejecuta una sentencia case se ejecutan

también todas las que van a continuación, hasta que se llega a un break o hasta

que se termina el switch.

Page 18: PROGRAMACIÓN ORIENTADA A OBJETOS PARA ELDESARROLLO DE UN PROGRAMA DE ALQUILER DE VIDEOS

18

Ejemplo:

char c = (char)(Math.random()*26+'a'); // Generación aleatoria de letras minúsculas

System.out.println("La letra " + c );

switch (c) {

case 'a': // Se compara con la letra a

case 'e': // Se compara con la letra e

case 'i': // Se compara con la letra i

case 'o': // Se compara con la letra o

case 'u': // Se compara con la letra u

System.out.println(" Es una vocal "); break;

default:

System.out.println(" Es una consonante ");

}

7.2. Bucles

Un bucle se utiliza para realizar un proceso repetidas veces. Se denomina también

lazo o loop. El código incluido entre las llaves {} (opcionales si el proceso repetitivo

consta de una sola línea), se ejecutará mientras se cumpla unas determinadas

condiciones. Hay que prestar especial atención a los bucles infinitos, hecho que

ocurre cuando la condición de finalizar el bucle (booleanExpression) no se llega a

cumplir nunca. Se trata de un fallo muy típico, habitual sobre todo entre

programadores poco experimentados.

a. Bucle while

Las sentencias statements se ejecutan mientras booleanExpression sea true.

while (booleanExpression) {

statements;

}

b. Bucle for

La forma general del bucle for es la siguiente:

for (initialization; booleanExpression; increment) {

statements;

}

que es equivalente a utilizar while en la siguiente forma:

Page 19: PROGRAMACIÓN ORIENTADA A OBJETOS PARA ELDESARROLLO DE UN PROGRAMA DE ALQUILER DE VIDEOS

19

while (booleanExpression) {

statements;

increment;

}

c. Bucle do while

Es similar al bucle while pero con la particularidad de que el control está al final del

bucle (lo que hace que el bucle se ejecute al menos una vez, independientemente

de que la condición se cumpla o no). Una vez ejecutados los statements, se evalúa

la condición: si resulta true se vuelven a ejecutar las sentencias incluidas en el

bucle, mientras que si la condición se evalúa a false finaliza el bucle.

do {

statements

} while (booleanExpression);

Page 20: PROGRAMACIÓN ORIENTADA A OBJETOS PARA ELDESARROLLO DE UN PROGRAMA DE ALQUILER DE VIDEOS

20

8. SWING

Swing es una parte de las JFC que permite incorporar en las aplicaciones elementos

gráficos de una forma mucho más versátil y con más capacidades que utilizando el

AWT básico de Java.

"Swing" era el nombre clave del proyecto que desarrolló los nuevos componentes.

Aunque no es un nombre oficial, frecuentemente se usa para referirse a los nuevos

componentes y al API relacionado. Está inmortalizado en los nombres de paquete del

API Swing, que empiezan con "javax.swing."

[www.mygnet.net/manuales/java/manual_de_javaswing_y_jfc.1530]

8.1. Características de swing

Escrito totalmente en java.

No reemplaza a AWT.

Se apoya sobre AWT y añade JComponents.

Selección de diferentes apariencias (Look & Feel).

Utilización de componentes ligeros.

Arquitectura Model-View-Controller (MVC).

Nuevos componentes (árboles, tablas, frames internos, etc.).

Otros: iconos, bordes, tooltips, beans, etc.

Proporciona utilidades para facilitar creación de aplicaciones gráficas.

8.2. ¿Que tienen de diferente los componentes Swing de los

componentes AWT?

Los botones y las etiquetas Swing pueden mostrar imágenes en lugar de o

además del texto.

Se pueden añadir o modificar fácilmente los bordes dibujados alrededor de

casi cualquier componente Swing. Por ejemplo, es fácil poner una caja

alrededor de un contenedor o una etiqueta.

Se puede modificar fácilmente el comportamiento o la apariencia de un

componente Swing llamando a métodos o creando una subclase.

Los componentes Swing no tienen porque ser rectangulares. Por ejemplo,

los botones pueden ser redondos.

Page 21: PROGRAMACIÓN ORIENTADA A OBJETOS PARA ELDESARROLLO DE UN PROGRAMA DE ALQUILER DE VIDEOS

21

Las tecnologías asistivas como los lectores de pantallas pueden fácilmente

obtener información desde los componentes Swing. Por ejemplo, una

herramienta puede fácilmente obtener el texto mostrado en un botón o en

una etiqueta.

Otra característica Swing es que se puede especificar el Aspecto y

Comportamiento que utilice el GUI de nuestro programa. Por el contrario, los

componentes AWT siempre tienen el aspecto y comportamiento de la plataforma

nativa.

8.3. Componentes Swing

Figura 4: Componentes de Swing

Fuente: www.usuarios.lycos.es/manualesjava/manuales/swing/swing.pdf

Page 22: PROGRAMACIÓN ORIENTADA A OBJETOS PARA ELDESARROLLO DE UN PROGRAMA DE ALQUILER DE VIDEOS

22

Componente Descripción

JButton Botón.

JCheckBox Botón de comprobación.

JCheckBoxMenuItem Botón de comprobación para usar en menús

JColorChooser Selector de colores.

JComboBox Entrada de texto con lista de valores.

JComponent Raíz de la jerarquia de componentes Swing.

JEditorPane Editor de texto. Normalmente HTML o RTF.

JFileChooser Selector de ficheros.

JLabel Etiqueta.

JList Lista.

JMenu Menú dentro de un JMenuBar o dentro de otro menú.

JMenuBar Barra de Menús.

JMenuItem Elemento seleccionable en un menú.

JOptionPane Ventanas de dialogo.

JPasswordField Entrada de passwords.

JPopupMenu Ventana con un menú.

JProgressBar Barra de progreso.

JRadioButton Botón excluyente.

JRadioButtonMenuItem Botón excluyente para usar en menús

JScrollBar Barra de desplazamiento.

JSeparator Líneas de separación.

JSlider Deslizador.

JTable Tabla.

JTextArea Edición de múltiples líneas de texto plano.

JTextComponent Raíz de los editores de texto.

JTextField Edición de una línea de texto plano.

JTextPane Subclase de JEditorPane para hacer procesadores de texto.

JToggleButton Padre de JCheckBox y JRadioButton.

JToolBar Barra de herramientas o acciones.

JToolTip Ventana informativa.

JTree Árboles.

Tabla 3: Descripción de los componentes de Swing

Fuente: jungla.dit.upm.es/~santiago/docencia/apuntes/Swing/index.htm

Page 23: PROGRAMACIÓN ORIENTADA A OBJETOS PARA ELDESARROLLO DE UN PROGRAMA DE ALQUILER DE VIDEOS

23

9. JDBC (Java DataBaseConectivity)

Es un API que permite la ejecución de operaciones sobre bases de datos desde el

lenguaje de programación Java independientemente del sistema operativo donde se

ejecute o de la base de datos a la cual se accede utilizando el dialecto SQL del modelo

de base de datos que se utilice.

JDBC Utiliza drivers para conectarse a distintas base de datos:

SQL Server

Oracle

mySQl

posgreSQL

Access, etc.

9.1. Conexión JDBC – ODBC

Es el driver que convierte todas las llamadas JDBC a ODBC y realiza la conversión

correspondiente de los resultados.

Figura 5: Conexión JDBC – ODBC

Fuente:www.uvmsf.cl/~jperezdearce/Dise%F1o%20de%20interfaces/Presentaci

onesClases/DI_unidad5.ppt

Page 24: PROGRAMACIÓN ORIENTADA A OBJETOS PARA ELDESARROLLO DE UN PROGRAMA DE ALQUILER DE VIDEOS

24

9.2. Pasos para hacer la conexión JDBC – ODBC

1. Cargar Driver

Este Origen de datos permite indicar cuál es el driver a utilizar y cuál es el

archivo.

Figura 6: Selección de Herramientas administrativas

Fuente: Elaboración propia

Figura 7: Selección del Origen de datos (ODBC)

Fuente: Elaboración propia

Page 25: PROGRAMACIÓN ORIENTADA A OBJETOS PARA ELDESARROLLO DE UN PROGRAMA DE ALQUILER DE VIDEOS

25

DSN (Data Source Name)

Figura 8: Administrador de orígenes de datos (ODBC)

Fuente: Elaboración propia

Figura 9: Creación del origen de datos

Fuente: Elaboración propia

Lo primero es hacer una llamada al Driver JDBC-ODBC para cargarlo. Eso se

consigue con las siguientes líneas de código:

Page 26: PROGRAMACIÓN ORIENTADA A OBJETOS PARA ELDESARROLLO DE UN PROGRAMA DE ALQUILER DE VIDEOS

26

2. Pedir conexión a la base de datos

Donde:

Acceso es: “jdbc:odbc:(nombre_DSN)”

myLogin: Usuario de la base de datos

myPassword: Contraseña de usuario

3. Crear Sentencias

Para crear una sentencia se debe crear un objeto Statement:

y así poder manipular las base de datos.

4. Ejecutar sentencias

El objeto Statement define los siguientes métodos:

executeUpdate(String sql): el cual sirve para utilizar los comandos de

creación, modificación y eliminación de tablas y registros de la base de

datos.

executeQuery(String sql): el cual sirve para realizar consultas en la base

de datos.

Page 27: PROGRAMACIÓN ORIENTADA A OBJETOS PARA ELDESARROLLO DE UN PROGRAMA DE ALQUILER DE VIDEOS

27

CAPITULO II: EMPLEOS Y USOS – APLICACIONES

Figura 10: Diagrama de clases de Sistema de Alquiler de Videos

Fuente: Elaboración propia

Cliente

cliId

cliDni

cliNombre

cliDirección

cliTeléfono

Registrar

Mostrar cliId

Mostrar cliDni

Mostrar cliNombre

Mostrar cliApellidos

Mostrar cliDirección

Modificar

Buscar

Eliminar

Video

vidId

vidNombre

vidGenero

vidStock

Registrar

Mostrar vidId

Mostrar vidNombre

Mostrar vidGenero

Mostrar vidStock

Modificar

Buscar

Eliminar

Empleado

empId

empDni

empNombre

empDireccion

empTelefono

Registrar

Mostrar empId

Mostrar empDni

Mostrar empNombre

Mostrar empDireccion

Modificar

Buscar

Eliminar

Alquiler

alqNumero

alqFecha

cliDni

cliNombre

empNombre

vidNombre

Cantidad

PrecioUnit

Registrar

Mostrar alqNumero

Mostrar alqFecha

Mostrar cliDni

Mostrar cliNombre

Mostrar empNombre

Mostrar vidNombre

Mostrar Cantidad

Mostrar PrecioUnit

Modificar

Eliminar

Page 28: PROGRAMACIÓN ORIENTADA A OBJETOS PARA ELDESARROLLO DE UN PROGRAMA DE ALQUILER DE VIDEOS

28

Diseño de las pantallas preliminares

Figura 11: Pantalla preliminar de registro de clientes

Fuente: Elaboración propia

Figura 12: Pantalla preliminar de registro de videos

Fuente: Elaboración propia

Page 29: PROGRAMACIÓN ORIENTADA A OBJETOS PARA ELDESARROLLO DE UN PROGRAMA DE ALQUILER DE VIDEOS

29

Figura 13: Pantalla preliminar para realizar alquiler de videos

Fuente: Elaboración propia

Page 30: PROGRAMACIÓN ORIENTADA A OBJETOS PARA ELDESARROLLO DE UN PROGRAMA DE ALQUILER DE VIDEOS

30

CAPITULO III: MANUAL DE USUARIO

El sistema está pensado para simular el alquiler de videos. Además posee una

característica, que es la de mostrar cada video, cliente y empleado de acuerdo

a su código a buscar.

El sistema no tiene límite de títulos ni de clientes, ni tampoco está limitado en la

cantidad de alquileres de videos.

Clientes

Para poder acceder al registro de un cliente, lo primero que se tiene que hacer

es, ir al menú del programa de alquiler de videos, hacer click en la opción de

Mantenimiento, y luego en Registrar Cliente.

Una vez realizado el paso anterior, aparecerá la pantalla de Registrar Cliente.

Que Podremos acceder a las siguientes operaciones:

Agregar clientes nuevos haciendo click sobre "Grabar".

Page 31: PROGRAMACIÓN ORIENTADA A OBJETOS PARA ELDESARROLLO DE UN PROGRAMA DE ALQUILER DE VIDEOS

31

Buscar un cliente determinado presionando "Buscar".

Page 32: PROGRAMACIÓN ORIENTADA A OBJETOS PARA ELDESARROLLO DE UN PROGRAMA DE ALQUILER DE VIDEOS

32

Borrar clientes con el botón " Eliminar”.

Page 33: PROGRAMACIÓN ORIENTADA A OBJETOS PARA ELDESARROLLO DE UN PROGRAMA DE ALQUILER DE VIDEOS

33

Grabar cambios efectuados en los datos del cliente con el botón " Modificar”.

Page 34: PROGRAMACIÓN ORIENTADA A OBJETOS PARA ELDESARROLLO DE UN PROGRAMA DE ALQUILER DE VIDEOS

34

Videos

Para poder acceder al registro de un video, lo primero que se tiene que hacer

es, ir al menú del programa de alquiler de videos, hacer click en la opción de

Mantenimiento, y luego en Registrar Video.

Una vez realizado el paso anterior, aparecerá la pantalla de Registrar Video.

Que Podremos acceder a las siguientes operaciones:

Agregar videos nuevos haciendo click sobre " Grabar”.

Page 35: PROGRAMACIÓN ORIENTADA A OBJETOS PARA ELDESARROLLO DE UN PROGRAMA DE ALQUILER DE VIDEOS

35

Buscar un video determinado presionando "Buscar".

Page 36: PROGRAMACIÓN ORIENTADA A OBJETOS PARA ELDESARROLLO DE UN PROGRAMA DE ALQUILER DE VIDEOS

36

Borrar videos con el botón "Eliminar”.

Page 37: PROGRAMACIÓN ORIENTADA A OBJETOS PARA ELDESARROLLO DE UN PROGRAMA DE ALQUILER DE VIDEOS

37

Grabar cambios efectuados en los datos del video con el botón "Modificar”.

Page 38: PROGRAMACIÓN ORIENTADA A OBJETOS PARA ELDESARROLLO DE UN PROGRAMA DE ALQUILER DE VIDEOS

38

Empleados

Para poder acceder al registro de un empleado, lo primero que se tiene que

hacer es, ir al menú del programa de alquiler de videos, hacer click en la opción

de Mantenimiento, y luego en Registrar Empleado.

Una vez realizado el paso anterior, aparecerá la pantalla de Registrar Empleado.

Que Podremos acceder a las siguientes operaciones:

Agregar empleados nuevos haciendo click sobre "Grabar”.

Page 39: PROGRAMACIÓN ORIENTADA A OBJETOS PARA ELDESARROLLO DE UN PROGRAMA DE ALQUILER DE VIDEOS

39

Buscar un empleado determinado presionando "Buscar".

Borrar empleados con el botón "Eliminar”.

Page 40: PROGRAMACIÓN ORIENTADA A OBJETOS PARA ELDESARROLLO DE UN PROGRAMA DE ALQUILER DE VIDEOS

40

Grabar cambios efectuados en los datos del video con el botón "Modificar”.

Page 41: PROGRAMACIÓN ORIENTADA A OBJETOS PARA ELDESARROLLO DE UN PROGRAMA DE ALQUILER DE VIDEOS

41

Alquiler de Videos

Para poder acceder al respectivo alquiler de un video, lo primero que se tiene

que hacer es, ir al menú del programa de alquiler de videos, hacer click en la

opción de Movimientos, y luego en Registrar Alquileres.

Una vez realizado el paso anterior, aparecerá la pantalla de Registrar Alquiler de

Videos.

Que Podremos acceder a las siguientes operaciones:

Guardar el alquiler de videos haciendo click sobre "Grabar”.

Page 42: PROGRAMACIÓN ORIENTADA A OBJETOS PARA ELDESARROLLO DE UN PROGRAMA DE ALQUILER DE VIDEOS

42

Grabar cambios efectuados en los datos del alquiler de un video con el botón

"Modificar”.

Page 43: PROGRAMACIÓN ORIENTADA A OBJETOS PARA ELDESARROLLO DE UN PROGRAMA DE ALQUILER DE VIDEOS

43

CAPÍTULO IV: APLICACIÓN A UN CASO PRACTICO

Descripción: Esta pantalla va a mostrar el menú del sistema, el cual tiene 2 opciones;

Mantenimiento (ya sea para ingresar un cliente, video, empleado), y Movimientos (para

el registro del alquiler del video).

Figura 14: Pantalla del Menú de opciones

Fuente: Elaboración propia

Page 44: PROGRAMACIÓN ORIENTADA A OBJETOS PARA ELDESARROLLO DE UN PROGRAMA DE ALQUILER DE VIDEOS

44

Descripción: Esta pantalla va a registrar un video (Id, Nombre, Genero y su Stock), en

caso sea nuevo; sino se hará una búsqueda para comprobar si está registrado en la

base de datos del sistema. Asi también va a modificar los datos del video en caso

haya algún error en el momento de ingresar sus datos por parte de algún encargado

del sistema, y el Eliminar en caso dicho video se encuentre dañado.

Figura 15: Pantalla para registrar un video

Fuente: Elaboración propia

Page 45: PROGRAMACIÓN ORIENTADA A OBJETOS PARA ELDESARROLLO DE UN PROGRAMA DE ALQUILER DE VIDEOS

45

Descripción: Esta pantalla va a registrar a un cliente (Id, Dni, Nombre, Dirección y su

Teléfono), en caso sea nuevo; sino se hará una búsqueda para comprobar si está

registrado en la base de datos del sistema. Asi también va a modificar los datos del

cliente en caso haya algún error en el momento de ingresar sus datos por parte de

algún encargado del sistema, y el Eliminar.

Figura 16: Pantalla para registrar un cliente

Fuente: Elaboración propia

Page 46: PROGRAMACIÓN ORIENTADA A OBJETOS PARA ELDESARROLLO DE UN PROGRAMA DE ALQUILER DE VIDEOS

46

Descripción: Esta pantalla va a registrar a un empleado de la empresa de alquiler de

videos (Id, Dni, Nombre, Dirección y su Teléfono), en caso sea nuevo; sino se hará

una búsqueda para comprobar si está registrado en la base de datos del sistema. Asi

también va a modificar los datos del empleado en caso haya algún error en el

momento de ingresar su datos por parte de algún encargado del sistema, y el Eliminar

en caso ya no trabaje en la empresa dicho trabajador.

Figura 17: Pantalla para registrar un empleado

Fuente: Elaboración propia

Page 47: PROGRAMACIÓN ORIENTADA A OBJETOS PARA ELDESARROLLO DE UN PROGRAMA DE ALQUILER DE VIDEOS

47

Descripción: Esta es la pantalla principal del sistema, la cual va a registrar el alquiler

ya sea de 1 o más videos, que tendrá la función de llevar un control de los alquileres

que se realizan por parte de la empresa de alquiler de videos hacia sus clientes. Con

la finalidad de llevar la contabilidad de ellos (alquileres).

Figura 18: Pantalla para realizar un alquiler de video

Fuente: Elaboración propia

Page 48: PROGRAMACIÓN ORIENTADA A OBJETOS PARA ELDESARROLLO DE UN PROGRAMA DE ALQUILER DE VIDEOS

48

CONCLUSIONES

Es un lenguaje de programación, creado por Sun microsystems con el que

se puede realizar cualquier tipo de programa es un lenguaje independiente

de la plataforma. Si se hace un programa en Java podrá funcionar en

cualquier ordenador, por ello su lema principal es:

“Write Once, Run Everywhere”

(Escríbelo una vez, y lo ejecutarás en todas partes).

La herencia permite crear nuevas clases en base a otras ya existentes. La

clase que proviene de otra clase se llama Subclase y la clase de la que

está derivada se denomina Superclase.

Swing es una superclase que permite desarrollar Interfaces Graficas de

Usuarios, de una forma mucho más versátil, sencilla y con más capacidades

que utilizando el AWT básico de Java.

El JDBC (Java DatabaseConectivity) facilita la conexión de bases de datos

(SQL Server, Oracle, Access, etc.) desde el lenguaje de programación Java,

realizando los siguientes pasos:

1. Cargar Driver desde Java.

2. Pedir conexión a la base de datos

3. Crear Sentencias

4. Ejecutar sentencias

Page 49: PROGRAMACIÓN ORIENTADA A OBJETOS PARA ELDESARROLLO DE UN PROGRAMA DE ALQUILER DE VIDEOS

49

BIBLIOGRAFÍA Y LINKGRAFÍA

Libros:

Decaer, Rick; Hirshfield, Stuart: Programación con Java – Introducción a la

programación con Java. 2da Edición. Edit. Thomsom Learning. México, 618

páginas.

Wang, Paúl S.: Java con Programación Orientada a Objetos y Aplicaciones

en la WWW. Edit. Thomsom editores. México, 446 páginas.

García de Jalón, Javier; Rodríguez, José Ignacio; Mingo, Iñigo; Imaz, Aitor;

Brazales, Alfonso; Larzabal, Alberto; Calleja, Jesús; García, Jon: Aprenda

Java como si estuviera en primero. San Sebastián - España. 1999

Bobadilla S, Jesús; Sancho H., Adela: Comunicaciones y base de datos con

Java a través de ejemplos. Edit. Alfaomega. México, 233 páginas.

Sitios Web:

java.ciberaula.com/articulo/tecnologia_orientada_objetos/

es.wikipedia.org/wiki/Programaci%C3%B3n_orientada_a_objetos

java.sun.com/books/Series/Tutorial/index.html

www.itapizaco.edu.mx/paginas/JavaTut/froufe/parte14/cap14-1.html

www.programacion.com/java/tutorial/java_basico/

www.usuarios.lycos.es/manualesjava/manuales/aprender/aprender.pdf

java.sun.com/docs/books/tutorial/uiswing/components/index.html

jungla.dit.upm.es/~santiago/docencia/apuntes/Swing/index.htm

www.mygnet.net/manuales/java/manual_de_javaswing_y_jfc.1530

www.ciberaula.com/curso/prog2/

www.luis.izqui.org/resources/ProgOrientadaObjetos.pdf

www.desarrolloweb.com/articulos/497.php

www.usuarios.lycos.es/manualesjava/manuales/swing/swing.pdf

www.uvmsf.cl/~jperezdearce/Dise%F1o%20de%20interfaces/PresentacionesCl

ases/DI_unidad4a.ppt

www.uvmsf.cl/~jperezdearce/Dise%F1o%20de%20interfaces/PresentacionesCl

ases/DI_unidad5.ppt

Page 50: PROGRAMACIÓN ORIENTADA A OBJETOS PARA ELDESARROLLO DE UN PROGRAMA DE ALQUILER DE VIDEOS

50

ÍNDICE

Sumario…………………………………………………………………………………3

Introducción…………………………………………………………………………….5

CAPÍTULO I: GENERALIDADES – TERMINOLOGÍA……………………………6

1. ¿Cómo surge el lenguaje de programación Java?..........................................6

2. ¿Qué es Java?.................................................................................................6

3. PROGRAMACION ORIENTADA A OBJETOS………………………………….7

3.1. Ventajas de un Lenguaje Orientado a Objetos………………………..7

a. Objeto………………………………………………………………………...7

b. Clase…………………………………………………………………………8

c. Método……………………………………………………………………….9

d. Herencia……………………………………………………………………..9

e. Abstracción………………………………………………………………...10

f. Polimorfismo………………………………………………………………..10

4. Variables…………………………………………………………………………...11

4.1. Nombres de Variables………………………………………………….11

4.2. Tipos Primitivos de Variables………………………………………….12

5. Constructores……………………………………………………………………...12

6. ARRAYS……………………………………………………………………………13

6.1. Arrays bidimensionales……………………………………………......14

6.2. Métodos de la clase String………………………………………….....16

7. SENTENCIAS DE CONTROL DE FLUJO……………………………………..17

7.1. Toma de decisiones…………………………………………………….17

a. Sentencia if………………………………………………………………...17

b. Sentencia if else…………………………………………………………..17

c. Sentencia if elseif else……………………………………………………17

d. Sentencia switch…………………………………………………………..18

7.2 Bucles…………………………………………………………………….19

a. Bucle while…………………………………………………………………19

b. Bucle for……………………………………………………………………19

c. Bucle do while……………………………………………………………..20

8. SWING……………………………………………………………………………..21

8.1. Características de swing……………………………………………….21

Page 51: PROGRAMACIÓN ORIENTADA A OBJETOS PARA ELDESARROLLO DE UN PROGRAMA DE ALQUILER DE VIDEOS

51

8.2. ¿Que tienen de diferente los componentes Swing de los

componentes AWT?...............................................................................21

8.3. Componentes Swing……………………………………………………22

9. JDBC (Java DataBaseConectivity)……………………………………………..24

9.1. Conexión JDBC – ODBC……………………………………………...24

9.2. Pasos para hacer la conexión JDBC – ODBC………………………25

CAPITULO II: EMPLEOS Y USOS – APLICACIONES………………………...28

Diseño de las pantallas preliminares………………………………………………29

CAPITULO III: MANUAL DE USUARIO………………………………………….31

CAPÍTULO IV: APLICACIÓN A UN CASO PRACTICO………………………..44

CONCLUSIONES……………………………………………………………………49

BIBLIOGRAFÍA Y LINKGRAFÍA…………………………………………………...50

ÍNDICE………………………………………………………………………………..51

Page 52: PROGRAMACIÓN ORIENTADA A OBJETOS PARA ELDESARROLLO DE UN PROGRAMA DE ALQUILER DE VIDEOS

52

Lista de Figuras

Figura 1: Componentes de un Objeto……………………………………………….7

Figura 2: Jerarquía de clases………………………………………………………..9

Figura 3: Palabras reservadas en Java…………………………………………...11

Figura 4: Componentes de Swing………………………………………………....22

Figura 5: Conexión JDBC – ODBC………………………………………………..24

Figura 6: Selección de Herramientas administrativas…………………………...25

Figura 7: Selección del Origen de datos (ODBC)………………………………..25

Figura 8: Administrador de orígenes de datos (ODBC)…………………………26

Figura 9: Creación del origen de datos……………………………………………26

Figura 10: Diagrama de clases de Sistema de Alquiler de Videos…………….28

Figura 11: Pantalla preliminar de registro de clientes…………………………...29

Figura 12: Pantalla preliminar de registro de videos…………………………….29

Figura 13: Pantalla preliminar para realizar alquiler de videos…………………30

Figura 14: Pantalla del Menú de opciones………………………………………..44

Figura 15: Pantalla para registrar un video……………………………………….45

Figura 16: Pantalla para registrar un cliente……………………………………...46

Figura 17: Pantalla para registrar un empleado………………………………….47

Figura 18: Pantalla para realizar un alquiler de video…………………………...48

Lista de Tablas

Tabla 1: Tipos primitivos de variables………………………………………….....12

Tabla 2: Métodos de la clase String……………………………………………….16

Tabla 3: Descripción de los componentes de Swing…………………………….23