Cerrar un frame en AWT

16/Dic/2007 Java , , , 10 Comentarios

Crear un frame con AWT es muy sencillo, simplemente tendremos que crear una instancia de la clase Frame y con un par de líneas más tendremos visible nuestra ventana.

Si todavía no has creado un frame en AWT te recomiendo que te leas "Crear un Frame con AWT".

Uno de los inconvenientes que tiene el crear un Frame sin más, es que este no atiende a ningún evento. Es por ello que por mucho que le demos en el aspa de cierre, el Frame no se va a cerrar. Claro está que esto no haría nuestra aplicación viable.

Es por ello que lo que vamos a hacer es controlar el evento windowClosing, para declarar que hay que hacer en la aplicación, dada esta situación.

Lo primero que tenemos que saber es que hay que utilizar la librería java.awt.event. Que es la que nos permite controlar estos eventos. A si que tendremos que importarla:

  1. import java.awt.event.*;

Por otro lado tenemos que crear una clase del tipo WindowAdapter, en la cual crearemos el método que controla el evento windowClosing. Esto lo haremos dentro de nuestro método main, ya que no vamos a reutilizar esta clase en otro sitio, aunque podríamos hacerlo.

  1. public void windowClosing(WindowEvent we){
  2. ...
  3. }
  4. }

En el caso de que se produzca el evento windowClosing, lo que haremos será finalizar la aplicación, es por ello que utilizamos el objeto del sistema y su método exit.

  1. System.exit(0);

Finalmente el código que controle el evento windowClosing quedará de la siguiente forma:

  1. public void windowClosing(WindowEvent we){
  2. System.exit(0);
  3. }
  4. }

La instancia de la clase WindowAdapter se la tenemos que asignar al Frame. Para ello utilizamos el método addWindowListener.

  1. miFrame.addWindowListener(new WindowAdapter(){
  2. public void windowClosing(WindowEvent we){
  3. System.exit(0);
  4. }
  5. });

Vídeos sobre Java


Difunde el Conocimiento

Si te ha gustado el artículo o te ha sido de utilidad, no dejes de compartirlo con tus amigos en las redes sociales... Te estaremos muy agradecidos. :-D

10 comentarios en “Cerrar un frame en AWT”

Víctor Cuervo

Víctor Cuervo

Gracias por el comentario @Victor. 😀

Víctor Cuervo

Victor

buena explicacion men, para aquellos que no entiendan, este codigo se usa cuando se crea una aplicacion en netbeans pero desde una clase main, ahi no se coloca botones ni nada, todo se declara y se crea con puras lineas de codigo.

Víctor Cuervo

kike

Tengo una duda, he creado una aplicacion contra una base de datos oracle , y codificada en jdeveloper 10g, la historia es que tengo un jframe principal, y jinternalframe, que controlo bien(cierre, minimizado, y cierre, cuando cierro la jframe principal)…

El problema viene porque he creado 2 form con adf/swin, y son jframe, y no puedo o no se como hacer para que cuando cierro la jframe principal, cerrar esos form si estan abiertos, tampoco se, como hacer para que solo se abran una vez????
gracias por las respuestas, un saludo…

Víctor Cuervo

Ces

debes cambiar EXIT ON CLOSE por DISPOSE, busca en las propiedades del frame y cambia el tipo de cerrado,

saludos

Víctor Cuervo

judith

como puedo cerrar solo una ventana sin que se sierren las otras ventanas…. ya que estoy usando netbeans… estoy en un proyecto ayudenme

Víctor Cuervo

lineadecodigo

@MARPEVI,

Sobre qué te gustaría que hablásemos en la web?? Tus comentarios nos serán de gran ayuda.

Gracias.

Víctor Cuervo

MARPEVI

Desearia que sean más actuales y consisos en sus programas..saludos

Víctor Cuervo

ces

no necesariamente, podes darle en propiedades de las ventans y cambiar EXIT ON CLOSE por DISPOSE asi solo se cerraba la ventana actual,

saludos

Víctor Cuervo

LOL

U fail, así si tienes varias ventanas se cierran todas.

Víctor Cuervo

Gadiel

Prefiero usar el netbeans

¿Algo que nos quieras comentar?

Déjanos tu comentario, no te preocupes que tu email no será publicado

*

*