Ejercicios Realizados en el Curso de Java

 

 

Ejercicio 01.5

01.5.1 Usando el WordPad, modifique el mensaje que aparece dentro del applet HelloWeb.class.

01.5.2 Agregue uno o más mensajes al applet.

01.5.3 Compile el archivo HelloWeb.java.

01.5.4 Ejecute HW.html usando el appletviewer.

01.5.5 Compruebe que el applet se ejecuta al ver aparecer la ventana del applet con los mensajes que Ud. escribió.

01.5.6 Empaque en un archivo con nombre eje01.5_minombre.zip el archivo HelloWeb.java modificado (sustituya" minombre" por sus propionombre).

01.5.7 Envíe el .zip creado en un e-mail a su tutor: jlabreu@cimat.mx. Aproveche este primer e-mail para escribir una pequeña descripción de su experiencia en programación y sus intereses particulares en el tema.

 

Ver Applet ejecutándose

Obtener el código y el ejecutable

 

Ejercicio 01.8

01.8.1 Lea y estudie detenidamente los códigos Java de las clases relacionadas con la calculadora.

01.8.2 Escriba sus dudas principales en un e-mail y envíelo a su tutor: jlabreu@cimat.mx.

Aquí no hubo dudas

Ejercicio 02.1

02.1.1 Este es un ejercicio sencillo de programación en HTML y JavaScript usando un objeto de la clase circApplet. Un applet puede controlarse desde la página Web, por ejemplo, usando el evento "onclick" de los botones de una forma.

02.1.2 Estudie el código html que hace esto. Observe que al applet se le da el nombre circ0 y luego se utiliza circ0 como un objeto dentro de la función "onclick" de los botones, haciendo allí llamadas a los métodos de circ0. Se hacen llamadas para mover el círculo y para redibujarla.

Si su navegador reconociese la etiqueta de applet, aquí vería un applet

02.1.3 Cree una página Web que haga lo mismo pero además tenga botones para mover el círculo a izquierda y derecha y otros para aumentar y disminuir el radio.

02.1.4 Pruebe su página html con su navegador y envíela a su tutor.

Ver Applet ejecutándose

Obtener el código y el ejecutable

Ejercicio 02.2

02.2.1 Este ejercicio lo llevará a crear una clase nueva llamada recta, un applet para mover un objeto de la clase y una página para exhibir el applet. Para comenzar estudie cuidadosamente la clase circulo definida en circulo.java. y la clase circApplet definida en circApplet.java.

02.2.2 Cree una clase que represente un rectángulo y sus métodos sean las translaciones horizontales y verticales y el intercambio de sus dimensiones. Hágalo extendiendo la clase punto agregando variables para el ancho y alto y un método para intercambiar sus valores.

02.2.3 Cree el applet rectaApplet. Sugerencia: Para hacerlo puede copiar el archivo circApplet.java con el nombre rectaApplet.java y modificarlo. El nuevo applet debe crear un objeto de la clase rectangulo, hacer públicos los métodos para que el objeto pueda controlarse desde fuera y finalmente, debe tener un método paint que se encargue de dibujar el rectángulo. Cuide que el origen coincida con el centro del applet.

02.2.4 Compile los archivcos rectangulo.java y rectaApplet.java corrigiendo cualquier error que pudiera aparecer.

02.2.5 Cree en el subdirectorio eje02 una página Web llamada rectangulo.html que llame al applet rectaApplet.class y que tenga botones para mover el rectángulo y e intercambiar sus dimensiones.

02.2.6 Abra la página rectangulo.html con su navegador (el appletviewer no sirve en este caso pues no presenta los botones que son parte de la página) y compruebe que todo funciona correctamente.

02.2.7 Envíe a su tutor la página rectangulo.html y las clases que utiliza en un archivo comprimido de nombre eje02.2_minombre.zip.

Ver Applet ejecutándose

Obtener el código y el ejecutable

Ejercicio 02.6

02.6.1 Cree una clase abstracta llamada ordenador y dos subclases suyas que realicen ordenaciones por inserción binaria e inserción directa respectivamente. Haga que todas estas clases pertenezcan a un paquete llamado orden.

02.6.2 Escriba dos programas que utilicen las subclases construidas en 02.6.1 para ordenar cadenas, cada uno usando un método diferente. Estos programas no deben pertenecer al paquete orden, pero deben usarlo, por lo cual tendrá que importar sus clases.

02.6.3 Revise los modificadores de todas las variables y métodos de las clases desarrolladas en este ejercicio y restrinja su accesibilidad lo más posible mientras todo funcione.

02.6.3 Empaque los archivos desarrollados en este ejercicio y envíelos a su tutor en un archivo eje02.6_minombre.zip.

Obtener el código y el ejecutable

Ejercicio 03.6

03.6.1 Escriba un programa que reciba como parámetros números enteros, busque el más pequeño y lo escriba en la pantalla.

03.6.2 Modifique el programa de manera que escriba todos los números en orden creciente.

03.6.2 Envíe los ficheros desarrollados en este ejercicio a su tutor en un archivo eje03.6_minombre.zip

Obtener el código y el ejecutable

Ejercicio 04.4.

04.4.1. Cree un applet que haga algo gráfico como los anteriores. Invéntelo Ud. mismo, haga trabajar su imaginación y sorprenda a su tutor con la mejor idea que se le ocurra. No sea demasiado ambicioso, tendrá ocasión de hacer otros ejemplos más completos. Por ahora trate de limitarse a usar las herramientas que le da esta lección. Lo importante es que demuestre que puede escribir applets con dibujos, texto e imágenes. Seguramente se le ocurrirá intentar hacer animaciones. No lo intente ahora, las animaciones requieren de hilos, lo cual se estudia en la lección 7.

04.4.2. Escriba una página Web para probar el applet y hágalo funcionar.

04.4.3. Empaque la página y el applet creados en un archivo eje04.4_minombre.zip y envíelo a su tutor.

Nota: Los componentes de todos los ejercicos que siguen deberán ser variables del applet y no del método init(). Todos deben poder usarse en otros métodos del applet para que resulten útiles en los ejercicios de la lección 5.

Ver Applet ejecutándose

Obtener el código y el ejecutable

Ejercicio 05.4.

05.4.1. Usando el applet construido en el ejercicio 4.8.1. haga que funcione de la siguiente manera: Si se escribe una cadena en el campo de texto y se pulsa el botón agregar, entonces en la lista debe aparecer un nuevo elemento con el contenido del campo de texto. Si se pulsa el botón quitar cuando hay un elemento seleccionado en la lista, éste deberá desaparecer de la lista. Si se pulsa el botón limpiar, la lista deberá quedar vacía.

05.4.2. Agregue un interruptor para activar y desactivar la selección múltiple en la lista y haga que la función de quitar actúe sobre todos los elemntos seleccionados cuando hay selección múltiple.

05.4.3. Haga que los elementos de la lista aparezcan ordenados alfabéticamente. Para ello utilice la clase insercionBinariaBis desarrollada en la lección 6.

05.4.4. Agregue un grupo de interruptores con opciones de creciente y decreciente y haga que los elementos de la lista se ordenen alfabéticamente cuando está activado creciente y al revés (de la z a la a) cuando está activado decreciente.

05.4.5. Empaque los archivos desarrollados en este ejercicio y envíelos a su tutor en un archivo eje05.4_minombre.zip.

Ver Applet ejecutándose

Obtener el código y el ejecutable

Ejercicio 05.5.

05.5.1. Modifique el applet Dibuja agregando otro selector de colores y haga que se dibuje con el segundo color cuando se arrastra el cursor del ratón con el botón derecho pulsado. El objetivo de este ejercico es que el alumno se "adueñe" del programa dibuja y lo utilice como propio agregándole las opciones que se le ocurran. Este programa es un buen campo de prácticas. Haga las modificaciones y adiciones que se le ocurran antes de enviarlo al tutor.

Ver Applet ejecutándose

Obtener el código y el ejecutable

Ejercicio 05.7.

05.7.1. Cree un applet que detecte cuando se oprime una tecla, cuando se suelta y cuando se teclea y que escriba toda la información posible relacionada con la tecla pulsada (su clave, el caracter asociado, si se pulsa con el ctrl o el shft (mayúsculas) apretado, si se trata de una "tecla de acción" o no, etc...). Consulte la clase KeyEvent del paquete java.awt.event.

05.7.2. Empaque los archivos desarrollados en este ejercicio y envíelos a su tutor en un archivo eje05.7_minombre.zip.

Ver Applet ejecutándose

Obtener el código y el ejecutable

Ejercicio 6.7

6.7.1. Cree un applet con dos campos de texto para escribir en ellos las coordenadas del logotipo y úselo en el ejemplo de la configuración de anuncios para agregar la función de configurar la posición del logotipo dentro del anuncio.

6.7.2. Envíe a su tutor los archivos desarrollados en este ejercicio en un archivo eje6.7_minombre.zip.

Presione AQUÍ para ver la Hoja

Obtener el código y el ejecutable

Ejercicio 7.2.

7.2.1 Cree un applet que funcione como reloj analógico y digital. Haga que tenga un despliegue de agujas (tres agujas para horas, minutos y segundos) y uno digital que incluya la fecha. Aproveche la clase java.util.Date combinándola con el método System.currentTimeMillis(). Lo importante es que la hora se vaya actualizando cada segundo. Cuide que su reloj deje mucho tiempo libre al procesador para que pueda convivir con otros applets en la misma página.

7.2.2 Envíe los archivos creados en este ejercicio a su tutor en un archivo eje07.2_minombre.zip.

Ver Applet ejecutándose

Obtener el código y el ejecutable

 

Ejercicio 7.3.

7.3.1 Invente un applet usando alguno de los métodos de animación avanzada desarrollados en esta lección. Use su imaginación. Esta es su oportunidad de escribir su primer applet serio con animación avanzada (si no ha escrito antes otro).

7.3.2 Envíe los archivos creados en este ejercicio a su tutor en un archivo eje07.3_minombre.zip.

Ver Applet ejecutándose

Obtener el código y el ejecutable

Ejercicio 8.2.

En este ejercicio se creará un manejador de una tabla de datos. El ejercicio es largo. Para quienes hagan esto por primera vez puede resultar algo difícil, pero para quienes tengan experiencia anterior en el tema resultará trivial.

8.2.1. Para comenzar cree una subclase de Panel llamada datosPersonales con etiquetas y campos de texto que le permitan capturar los datos personales de personas: nombre, teléfono, dirección, e-mail, fecha de nacimiento (en tres campos para año, mes y día) y lo que a Ud. se le ocurra.

8.2.2. Incluya en la clase datosPersonales variables y métodos para leer y guardar los datos contenidos en los campos de texto del panel en un archivo (un RandomAccessFile). Para comenzar debe incluir una variable de la clase RandomAccessFile y un método para asignarla. Luego debe incluir un entero que le diga el número de registro en el que se encuentra y métodos públicos para asignar desde otras clases el número de registro y para aumentarlo, para disminuirlo y para ir al primero y al último. Escriba un método para escribir un registro y otro para leerlo. Estos métodos deben usar el número del registro y el archivo para posicionarse en un sitio del archivo y realizar las operaciones de lectura y escritura de cada campo de texto de la forma. Cree también un método que genere datos por defecto para un registro y los ponga en los campos de texto.

Sugerencias: Para que todo funcione correctamente debe decidir claramente cuantos bytes va a ocupar cada dato de la forma de captura. Use la escritura (y lectura) de enteros (readInt y writeInt) para los campos numéricos. No olvide hacer las conversiones de cadena a entero y viceversa. Para escribir las cadenas use writeBytes . Debe cuidar de completar las cadenas (con (char)0) , al tamaño máximo antes de escribirlas al disco (use un StringBuffer para esto). Para leer cadenas debe usar el método read(byte[] b,int inicio,int tam) para que pueda leer el número exacto de bytes de cada cadena. Luego convertirá el array de bytes a una cadena usando alguno de los constructores de String para ponerla en el campo de texto que le corresponde.

8.2.3. Cree un marco (subclase de Frame) con un BorderLayout que en el centro tenga un datosPersonales y abajo tenga botones con nombres: inicio, anterior, insertar, suprimir, siguiente, fin y agregar. Haga que un clic a cada botón realice la operación que le corresponde sobre el objeto datosPersonales.

8.2.4. Debe hacer que al arrancar el programa verifique si se encuentra el archivo con la tabla en el disco (elija algún nombre fijo (por ejemplo personal.dat) y haga que si lo encuentra lo abra (para lectura y escritura con "rw") y pase al primer registro. Si el archivo no existe debe crearlo y construir un primer registro en blanco con datos por defecto.

8.2.5. Arranque el programa, corrija sus errores, depúrelo, organícelo lo mejor que pueda y agregue los detalles que se le ocurran.

8.2.6. Empaque los archivos generados en este ejercicio en uno llamado eje8.2_minombre.zip y envíelo a su tutor.

Código y el ejecutable

Proyecto Final

"Una Aplicación Cliente Servidor"

Ir a la Página del Proyecto Final