Sie sind auf Seite 1von 5
Universidad Nacional del Comahue Facultad de Informática TSePyBD - Programación de Reportes y Presentaciones 1

Universidad Nacional del Comahue Facultad de Informática TSePyBD - Programación de Reportes y Presentaciones

TSePyBD - Programación de Reportes y Presentaciones 1 Trabajo Práctico 2 A– Interfaces Gráficas En este

1

Trabajo Práctico 2 A– Interfaces Gráficas

En este primer práctico de Interfaces Gráficas, se van a introducir los primeros conceptos que se deben manejar para la creación de una interfaz gráfica de usuario.

En resumidas cuentas, se van a practicar los pasos básicos para crear una interfaz gráfica de usuario:

Crear una ventana

Colocar componentes en la ventana

Organizar los componentes en los contenedores

Tratar los eventos

Observación. Las clases principales que nos provee el lenguaje para el trabajo con la capa de presentación, son las clases AWT y SWING.

Para Practicar:

1. La ventanas nos sirven como contenedores de componentes. Luego, crear una ventana extendiendo la clase JFrame. Para ello importamos los paquetes javax.swing.* y java.awt.*.

a. Definir el tamaño de 300x200 píxeles.

b. La ventana no debe ser redimensionable.

c. El título debe ser "Ventanita".

d. Agregarle un Panel personalizado a la ventana. Para ello extendemos la clase Panel.

e. Sobreescribiremos el método paintComponent(Graphics g) del Panel y dibujar un rectángulo en la ventana con un círculo adentro.

un rectángulo en la ventana con un círculo adentro. 2. Un componente es un objeto que

2. Un componente es un objeto que tiene una representación gráfica y que puede ser mostrado por pantalla y que puede utilizar el usuario. Veamos algunos componentes:

a. Un objeto de la clase JPanel sirve para contener otros componentes. La clase JLabel se utiliza para crear etiquetas de texto. Cree una ventana con la etiqueta: "Hola soy un JLabel"

------------------

Documento desarrollado íntegramente con Software Libre:

Debian GNU/Linux - http://www.debian.org

OpenOffice.org - http://www.openoffice.org

18/ 03/1 2

Universidad Nacional del Comahue Facultad de Informática TSePyBD - Programación de Reportes y Presentaciones 2

Universidad Nacional del Comahue Facultad de Informática TSePyBD - Programación de Reportes y Presentaciones

TSePyBD - Programación de Reportes y Presentaciones 2 b. Un objeto de la clase ImageIcon se

2

b. Un objeto de la clase ImageIcon se puede utilizar para mostrar imágenes. Muestre una imagen en la ventana.

c. Un objeto de la clase TextField se suele usar en los formularios, para que los usuarios puedan ingresar datos. Genere una ventana con el Label y TextField "Nombres" de 20 caracteres de tamaño. Debe tener por defecto el texto: "escriba algo aquí".

d. Un objeto de la clase TextArea se suele utilizar en los formularios, para que los usuarios puedan ingresar datos de gran longitud. Genere una ventana con el Label y TextArea "Observaciones" de 8x30 de tamaño.

e. Los objetos de la clase JBoton representan botones. Genere una ventana con la leyenda "¿Desea continuar?", y los botones: "Si", "No" y "Cancelar".

f. Un objeto de la clase JCheckBox se utiliza para la selección de múltiples elementos. Genere una ventana con los checkboxs "Alumno", "Docente", "Otro".

g. Un objeto de la clase JRadioButton se utiliza para la selección de un ítem de un conjunto múltiples elementos. Genere una ventana con la leyenda. "Seleccione un tipo de pozo productor:", con los radiobuttons: "petroleo", "petroleo y gas" y "gas". Debe agrupar los botones para que solo pueda estar seleccionado uno de ellos.

h. Un objeto de la clase JComboBox se utiliza para desplegar una lista desplegable de elementos. Realice el punto anterior utilizando un combobox.

i. Un objeto de la clase JList sirve para mostrar una lista de elementos. Muestre en una ventana ventana la siguiente lista: "Elemento1", "Elementos2" y "Elemento3".

j. Un objeto JTable se utiliza para mostrar elementos de forma tabular. El objeto JScroll sirve para contener componentes y mostrar barras de desplazamiento. Genere la siguiente grilla:

barras de desplazamiento. Genere la siguiente grilla: k. Utilizando las clases JMenuBar , JMenu y JMenuItem

k. Utilizando las clases JMenuBar, JMenu y JMenuItem genere un Menú que tenga las siguientes opciones:

Archivo que despliegue: Abrir, Cerrar, Salir.

Editar que despliegue: Cortar, Copiar, Pegar.

3. Java proporciona diversos esquemas de organización (layout managers) que pueden ser utilizados para organizar componentes dentro de los contenedores. El procedimiento es siempre el mismo, se crea un objeto de alguna de estas clases y se le indica al contenedor

------------------

Documento desarrollado íntegramente con Software Libre:

Debian GNU/Linux - http://www.debian.org

OpenOffice.org - http://www.openoffice.org

18/ 03/1 2

Universidad Nacional del Comahue Facultad de Informática TSePyBD - Programación de Reportes y Presentaciones 3

Universidad Nacional del Comahue Facultad de Informática TSePyBD - Programación de Reportes y Presentaciones

TSePyBD - Programación de Reportes y Presentaciones 3 que organice los componentes utilizando el objeto (método

3

que organice los componentes utilizando el objeto (método setLayout(LayoutManager m)).

a. Usando el BorderLayout genere la siguiente ventana:

. a. Usando el BorderLayout genere la siguiente ventana: b. Usando el FlowLayout genere la siguiente

b. Usando el FlowLayout genere la siguiente ventana:

b. Usando el FlowLayout genere la siguiente ventana: c. Usando el GridLayout genere la siguiente ventana:

c. Usando el GridLayout genere la siguiente ventana:

c. Usando el GridLayout genere la siguiente ventana: d. Usando el GridBagLayout genere la siguiente ventana:

d. Usando el GridBagLayout genere la siguiente ventana:

d. Usando el GridBagLayout genere la siguiente ventana: ------------------ Documento desarrollado íntegramente con

------------------

Documento desarrollado íntegramente con Software Libre:

Debian GNU/Linux - http://www.debian.org

OpenOffice.org - http://www.openoffice.org

18/ 03/1 2

Universidad Nacional del Comahue Facultad de Informática TSePyBD - Programación de Reportes y Presentaciones 4

Universidad Nacional del Comahue Facultad de Informática TSePyBD - Programación de Reportes y Presentaciones

TSePyBD - Programación de Reportes y Presentaciones 4 4. Cualquier sistema operativo que soporta GUI monitoriza

4

4. Cualquier sistema operativo que soporta GUI monitoriza los eventos que se producen e informa sobre estos a los programas que están en ejecución. En Java, se utiliza un modelo conocido como modelo de delegación de eventos. Este modelo se basa en que los componentes disparan eventos que pueden ser tratados por escuchadores (o manipuladore). Los escuchadores se registran en un componente.

a. MouseListener. Genere una ventana que tenga un botón y un textfield. Se debe capturar el evento pulsar con el ratón sobre el botón. El manipulador de evento tendrá que obtener lo que el usuario haya escrito en el campo de texto y mostrarlo por la salida estándar.

b. KeyListener. En una ventana debe mostrarse la cantidad de letras presionadas y la última tecla que se ha presionado.

c. WindowListener. Al intentar cerrar una ventana, debe aparecer un dialogo que tenga la siguiente leyenda: "Usted acaba de cerrar la ventana. Continuar".

d. ActionListener. Al presionar sobre un botón del JMenu, se imprime por la salida estándar que entrada ha sido presionado.

e. TextListener. Al realizar un cambio sobre el campo de texto, una ventana emergente debe aparecer indicando que se realizo un cambio.

f. Itemlistener. Cada vez que se selecciona un combo box, el valor elegido se debe copiar en un check box.

g. Para algunas de las interfaces de los puntos anteriores se ofrecen clases adaptadores que las implementan pero dejando vacíos todos los métodos. Realicé alguno de los puntos anteriores utilizando adaptadores.

h. Cuando una clase oyente de eventos se va a utilizar en un punto muy específico del código y no se va a reutilizar en otras partes existe la posibilidad de realizarla mediante una clase anónima (sin nombre). Reescriba el punto anterior utilizando una clase anónima.

Para Investigar:

1. ¿Qué diferencia hay entre las clases AWT y SWING?

2. ¿Qué otras clases nos brinda java para el trabajo con interfaz gráfica?

3. Enumere las capas que tiene una ventana JFRAME y para que se usan.

------------------

Documento desarrollado íntegramente con Software Libre:

Debian GNU/Linux - http://www.debian.org

OpenOffice.org - http://www.openoffice.org

18/ 03/1 2

Universidad Nacional del Comahue Facultad de Informática TSePyBD - Programación de Reportes y Presentaciones 5

Universidad Nacional del Comahue Facultad de Informática TSePyBD - Programación de Reportes y Presentaciones

TSePyBD - Programación de Reportes y Presentaciones 5 4. Describa en que consiste la organización de

5

4. Describa en que consiste la organización de componentes CardLayout.

5. Enumere y detalle sintácticamente los eventos que se definen en AWT y cual es la acción que los produce.

------------------

Documento desarrollado íntegramente con Software Libre:

Debian GNU/Linux - http://www.debian.org

OpenOffice.org - http://www.openoffice.org

18/ 03/1 2