0% encontró este documento útil (0 votos)
0 vistas10 páginas

10 Guiados Jframes

El documento describe cómo utilizar el objeto JFrame en Java para crear formularios y ventanas, incluyendo métodos para cambiar el título, maximizar, minimizar, mover y cambiar el tamaño de la ventana. También se abordan aspectos como el cambio de color del panel de contenidos y la implementación de diferentes estilos de apariencia. Además, se explican eventos importantes relacionados con formularios y cómo manejar el cierre de la ventana con confirmaciones.

Cargado por

yasleidy
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
0 vistas10 páginas

10 Guiados Jframes

El documento describe cómo utilizar el objeto JFrame en Java para crear formularios y ventanas, incluyendo métodos para cambiar el título, maximizar, minimizar, mover y cambiar el tamaño de la ventana. También se abordan aspectos como el cambio de color del panel de contenidos y la implementación de diferentes estilos de apariencia. Además, se explican eventos importantes relacionados con formularios y cómo manejar el cierre de la ventana con confirmaciones.

Cargado por

yasleidy
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 10

EJERCICIO GUIADO.

JAVA:
JFRAMES. FORMULARIOS

JFRAME

1. Un objeto JFrame es un formulario. Es decir, la base de una ventana. El objeto sobre


el que se añaden cuadros de texto, botones, etc...

2. Al crear un proyecto nuevo, lo primero que se hace es añadir un objeto JFrame: el


formulario principal del programa.

3. En esta hoja se verán distintos métodos de este objeto y algunas posibilidades de


uso.

EJEMPLO DE MANEJO DE FORMULARIO

1. Cree un proyecto en NetBeans que tenga un formulario con estos elementos:

btnTitulo txtTitulo

btnMaximizar
btnMinimizar
btnRestaurar
txtPosX
txtPosY

btnVerde
btnMover btnAzul
btnRojo

btnEstiloJava
btnEstiloWindows
btnEstiloMotif
btnEstiloMac
2. Empiece programando el siguiente código en el botón Titulo:

String titulo;
titulo = txtTitulo.getText();
this.setTitle(titulo);

Este código permite cambiar el título del formulario. Concretamente asigna el título que
se haya escrito en el cuadro de texto título. Ejecute el programa para comprobarlo:

Escribes un título y al
pulsar el botón se
cambia el título de la
ventana.

3. Explicación del código:

String titulo;
titulo = txtTitulo.getText();

Se crea una variable de texto llamada titulo y luego se recoge el texto del cuadro de
texto txtTitulo en dicha variable.

this.setTitle(titulo);

Esta línea es interesante.

En primer lugar observe la palabra this. Siempre que encuentre esta palabra se
referirá al objeto global en el que está programando. En nuestro caso, this se refiere
al formulario. Así pues, usaremos this para referirnos al formulario donde estamos.

Por otro lado estamos usando el método setTitle que permite cambiar el título del
formulario. El título que se pone viene indicado por la variable titulo.
4. Ahora añada al botón Maximizar el siguiente código:

this.setExtendedState(JFrame.MAXIMIZED_BOTH);

(Nota, NetBeans le pedirá que agregue la librería -el import- para JFrame)

5. Esta instrucción hace que se maximice la ventana. Pruébelo ejecutando el programa.

6. Si observa la instrucción, tenemos un método llamado setExtendedState que es


aplicado al formulario (this)

Este método puede recibir distintos valores según lo que se quiera hacer con la
ventana (maximizarla, minimizarla o restaurarla)

Aquí tiene los tres posibles valores:

JFrame.MAXIMIZED_BOTH - maximiza la ventana.


JFrame.ICONIFIED - minimiza la ventana.
JFrame.NORMAL - restaura la ventana.

7. Teniendo en cuenta lo anterior, programe usted solo los botones Minimizar y


Restaurar y compruebe el programa.

8. Ahora programe el botón Mover con el siguiente código:

int x,y;
String px, py;

px = txtPosX.getText();
py = txtPosY.getText();

x = Integer.parseInt(px);
y = Integer.parseInt(py);

this.setLocation(x,y);

9. Este código permite que el usuario introduzca una posición x,y y al pulsar el botón
Mover el formulario cambiará de sitio en la pantalla. Compruébelo.
Se introducen las
coordenadas y se
pulsa el botón
Mover.

El formulario se
colocará en dichas
coordenadas.

10. Estudiemos el código:

int x,y;
String px, py;

px = txtPosX.getText();
py = txtPosY.getText();

x = Integer.parseInt(px);
y = Integer.parseInt(py);

Estas líneas básicamente recogen las coordenadas introducidas en los cuadros de


texto txtPosX y txtPosY en dos variables numéricas llamadas x e y.

Se usan dos variables auxiliares de tipo texto px y py para recoger el contenido de los
cuadros de textos para posteriormente convertirlos a número.

this.setLocation(x,y);

Y esta instrucción es la que cambia de posición la ventana. Se ejecuta el método


setLocation del formulario (this). Este método recibe como parámetro la posición x e
y.

11. Ejercicio. Para cambiar el tamaño de un formulario se usa un método llamado


setSize. Añada dos cuadros de textos (uno para el ancho y otro para el alto) y un
botón cambiar tamaño. El usuario escribirá un ancho y un alto y al pulsar este botón
el tamaño de la ventana cambiará.
12. Sigamos. Ahora programe el botón Verde de la siguiente forma:

this.getContentPane().setBackground(Color.GREEN);

13. Observe el funcionamiento del programa. Verá como el formulario cambia al color
verde al pulsar este botón.

14. Esta línea de código necesita de una explicación adicional:

Todo formulario (JFrame) tiene sobre él lo que se denomina un panel de contenidos.


Este panel no es perceptible, pero podríamos representarlo así:

Panel de
Objeto JFrame Contenidos
(formulario)

15. Debes observar que el panel de contenidos está sobre el formulario. Esto quiere decir
que si cambiáramos el color del formulario no notaríamos nada ya que el panel de
contenido tapa al formulario.

16. Por lo tanto, para cambiar el color de la ventana y que se note, en realidad, se lo
tendrá que cambiar al panel de contenidos.

17. La forma de acceder al panel de contenidos es la siguiente:

this.getContentPane()

18. Por tanto, si quiere cambiar el color del panel de contenidos, tendrá que aplicar el
método setBackground a lo anterior:

this.getContentPane().setBackground(Color.GREEN);
19. Programe ahora el botón Estilo Windows de la siguiente forma:

try {

UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
SwingUtilities.updateComponentTreeUI(this);

}catch(Exception e) {

JOptionPane.showMessageDialog(null,
"Error al presentar el estilo",
"Error",
JOptionPane.ERROR_MESSAGE);
}

20. Este código cambia el aspecto de la ventana y le aplica el aspecto de Windows.


Pruébelo:
21. Analicemos el código.

Las dos líneas más importantes del código son las siguientes:

UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel");
SwingUtilities.updateComponentTreeUI(this);

En la primera línea, un objeto llamado UIManager ejecuta un método llamado


setLookAndFeel. Este método aplica una “apariencia” que viene definida por la
siguiente cadena de texto:

"com.sun.java.swing.plaf.windows.WindowsLookAndFeel"

Según la cadena que uses, la apariencia que se aplique será una u otra. En este
caso, la cadena anterior es la correspondiente a la apariencia de Windows. Después
se indicarán otras cadenas que pueden ser usadas.

En la segunda línea, un objeto llamado SwingUtilities ejecuta el método llamado


updateComponentTreeUI, aplicado al formulario (this). Esta línea básicamente lo que
hace es actualizar la ventana para que se aplique la nueva apariencia.

Al escribir estas dos líneas NetBeans le pedirá el import para los objetos UIManager y
SwingUtilities.

22. El código anterior es enrevesado pero siempre se usa igual. Lo único que hay que
cambiar es la cadena de texto que indica la apariencia. Puede usar las siguientes
cadenas de texto de apariencia:

"com.sun.java.swing.plaf.windows.WindowsLookAndFeel"

 Esta cadena define el estilo de ventanas de Windows.

"javax.swing.plaf.metal.MetalLookAndFeel"

 Esta cadena define el estilo de ventanas de Java

"com.sun.java.swing.plaf.motif.MotifLookAndFeel"

 Esta cadena define el estilo “Motif”

"com.sun.java.swing.plaf.mac.MacLookAndFeel"

 Esta cadena define el estilo de ventanas de Mac

23. Este código es considerado por NetBeans como “peligroso”, ya que puede producir
errores. Esto es debido a que un sistema operativo puede que no admita el estilo de
ventanas de otro sistema operativo.

Así pues NetBeans obliga a que se use un try...catch para capturar posibles
excepciones. Y, de hecho, si no se usa un try...catch, el NetBeans mostrará un error.
24. Esta es la razón por la que se rodea el código con un try...catch. En la parte del catch
simplemente mostramos un mensaje de error usando un JOptionPane (tendrá que
incluir el import para este objeto)

25. Con la información proporcionada en los puntos anteriores, programe usted solo los
botones Estilo Java, Estilo Motif y Estilo Mac. Compruebe el resultado.

EVENTOS INTERESANTES DE FORMULARIOS

1. Los formularios como los demás elementos de una ventana posee eventos que
pueden ser programados. Se nombrarán cuatro eventos:

windowOpened – sucede cuando la ventana se abre por primera vez.


windowClosing – sucede cuando la ventana se cierra.
windowActivated – sucede cuando la ventana se activa.
windowDeactivated – sucede cuando la ventana se desactiva.

2. El evento windowOpened puede ser usado como zona donde programar una
presentación o una bienvenida. Pruebe a programar en el evento windowOpened del
formulario del proyecto anterior lo siguiente:

JOptionPane.showMessageDialog(null,"Bienvenido");

Este código muestra un mensaje de bienvenida. Este mensaje aparecerá al empezar


el programa (cuando la ventana principal se abra)

Pruebe el programa.

3. Los formularios tienen una propiedad llamada defaultCloseOperation que define lo


que tiene que pasar cuando el usuario pulsa el botón cerrar de la ventana. Hay varias
posibilidades:

EXIT_ON_CLOSE
- hace que el programa termine.

HIDE
- el formulario se oculta.

DISPOSE
- el formulario se cierra (pero el programa no termina, a no ser que este sea el
único formulario abierto del programa).

DO_NOTHING
- No hace nada (el formulario no se cierra).
4. Asigne el valor DO_NOTHING al formulario y pruebe a ejecutar el programa.
Observará que no podrá cerrar el formulario al pulsar el botón cerrar.

Para cerrar el formulario active la opción Construir – Detener generación/ejecución en


el NetBeans:

5. ¿De qué sirve asignar el valor DO_NOTHING a un formulario, aparte de ser ideal
para gastar bromas? Veamos:

Al asignar el valor DO_NOTHING nos vemos forzados a programar el cierre del


formulario desde código. Esto nos permite “controlar” el cierre. Por ejemplo, podemos
preguntar al usuario si quiere cerrar realmente el formulario, y según su respuesta
cerrarlo o no.

6. Al pulsarse el botón cerrar del formulario se ejecuta el evento windowClosing, así que
programe en él lo siguiente:

int resp;

resp=JOptionPane.showConfirmDialog(null,
"¿Desea Salir?",
"Salida",
JOptionPane.YES_NO_OPTION,
JOptionPane.QUESTION_MESSAGE);

if (resp==JOptionPane.YES_OPTION) {
this.dispose();
}

7. Este código muestra un mensaje de confirmación, preguntando al usuario si quiere


salir realmente del programa. En el caso de que el usuario conteste que sí, se
ejecutará la siguiente línea:

this.dispose();

Esta línea ejecuta el método dispose del formulario (this). Este método cierra el
formulario desde código.

8. En caso de que el usuario pulsara No, no se ejecuta el método dispose, y por tanto
no se cierra el formulario. El código anterior es el código típico para pedir
confirmación de salida del programa.
CONCLUSIONES

JFRAME

- Un objeto JFrame es un formulario. Elemento base para crear una ventana.

- Cuando programa en un formulario, puede usar la palabra this para referirse a


él.

- El formulario, como cualquier otro objeto, posee diversos métodos que


permiten moverlo, maximizarlo, minimizarlo, etc...

- Tenga en cuenta que los formularios poseen un panel de contenidos


cubriéndolos. Esto hará que algunas de las propiedades aplicadas al
formulario no puedan ser observadas, como por ejemplo el cambio de color.

En estos casos hay que cambiar la propiedad al panel de contenidos.

El acceso al panel de contenidos viene especificado por:

this.getContentPane()

- Estilo de ventanas. Java tiene su propio estilo de ventanas, pero puede, si


quiere, cambiarlo y asignarle el estilo correspondiente a un sistema operativo.

- Eventos. Los formularios poseen eventos que pueden ser programados. Entre
los más interesantes están el evento windowOpened que sucede cuando la
ventana se abre y windowClosing que sucede cuando el usuario pulsa el
botón cerrar.

- La propiedad defaultCloseOperation define lo que sucede automáticamente


cuando se pulsa el botón cerrar de la ventana.

Asigne a esta propiedad el valor DO_NOTHING solo si quiere controlar el


cierre desde el evento windowClosing a través del método dispose.

También podría gustarte