35 PROGRAMACION MDI CONT

Páginas: 5 (1104 palabras) Publicado: 20 de agosto de 2015
EJERCICIO GUIADO. JAVA: PROGRAMACIÓN MDI CONTINUACIÓN

Ventanas Internas

Tal como se explicó en la hoja guiada anterior, una aplicación MDI contiene un panel del tipo JDesktopPane, dentro del cual se depositan objetos del tipo JInternalFrame. Los objetos JInternalFrame son ventanas internas.

El programador debe añadir a su proyecto una clase heredada de JInternalFrame. Esta clase será laventana interna. El programador diseña el aspecto de esta ventana y añade los métodos que considere necesarios para el manejo de dichas ventanas internas.

En la hoja anterior se creó un pequeño proyecto “Visor de Fotos” donde hicimos todo esto. Este programa es capaz de abrir varias fotos en sus correspondientes ventanas internas.

En esta hoja guiada veremos como podemos actuar sobre las distintasventanas internas que han sido abiertas en el JDesktopPane, y para ello usaremos de nuevo el proyecto “Visor de Fotos”.



EJERCICIO GUIADO 1

En este ejercicio guiado inicial, programaremos la opción Cerrar del proyecto “Visor de Fotos”. Esta opción debe ser capaz de cerrar la ventana interna que esté activa en ese momento.

Se sabe cual es la ventana interna activa porque aparece por encima delas demás, y porque tiene su barra de título de color azul, mientras que las demás aparecen en gris. La forma de seleccionar una ventana interna es simplemente hacer clic sobre ella.









1. Abre el proyecto VisorFotos que realizó en la hoja anterior.

2. Accede a la ventana principal del proyecto, haciendo doble clic sobre la clase ventanaprincipal.

3. Accede al evento actionPerformed de laopción del menú Cerrar y programa lo siguiente:



4. Ejecuta el programa y comprueba el funcionamiento de la opción Cerrar. Se recomienda que abra varias imágenes en su programa y luego seleccione una de ellas. Active la opción Cerrar y observe como la ventana interna se cierra.

5. El funcionamiento del código que acaba de programar es el siguiente:

El panel interno panelInterno es un objeto deltipo JDesktopPane. Estos paneles son paneles especiales preparados para contener ventanas internas (JInternalFrame) y poseen algunos métodos muy útiles para manipular las ventanas internas que contienen.

Uno de los métodos que más usaremos será getSelectedFrame. Este método devuelve la ventana interna seleccionada ahora mismo, o null si no hay ninguna seleccionada.

En el código anterior,observarás que creamos un objeto vactiva del tipo ventanainterna, y dentro de él metemos la ventana interna seleccionada en este momento, ejecutando el método getSelectedFrame:

ventanainterna vactiva = (ventanainterna) panelInterno.getSelectedFrame();

Ahora ya podemos trabajar con vactiva sabiendo que se refiere a la ventana activa. Lo que se hace a continuación es cerrar la ventana activa vactivausando el método dispose típico de los objetos de ventana.

Esto se hace, claro está suponiendo que haya alguna ventana activa, por eso se comprueba que getSelectedFrame no haya devuelto null, porque en ese caso es que no hay ventana interna activada y por tanto no se puede cerrar.


6. Este código es muy común a la hora de trabajar en aplicaciones MDI. Primero se comprueba cual es la ventana activay luego se actúa sobre ella. Veamos ahora otro ejemplo. Añade al menú la opción Info:



7. Accede al evento actionPerformed de esta nueva opción y programa lo siguiente:




8. Este código muestra el camino del fichero de la imagen que está seleccionada en este momento. Observa que el proceso es el mismo.

Primero se extrae la ventana activa, usando elmétodo getSelectedFrame, almacenándola en una variable llamada vactiva.

ventanainterna vactiva = (ventanainterna) panelInterno.getSelectedFrame();

Si esta variable es null, entonces es que no hay ninguna ventana activa.

Si es distinta de null, se trabaja con ella. En el ejemplo anterior extraemos el texto de la barra de título de la ventana y lo mostramos en un JOptionPane. (Recuerda que hemos...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • programación contar las lineas de un archivo
  • 35 Instrucciones De Programación (RISC)
  • mdios
  • mdia
  • 35
  • Deontologia Mdi
  • 2 Mdio
  • Aplicaciones Mdi

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS