elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  processWindowEvent
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: processWindowEvent  (Leído 2,607 veces)
NekroByte


Desconectado Desconectado

Mensajes: 639


Ver Perfil WWW
processWindowEvent
« en: 17 Julio 2007, 03:42 am »

Estoy practicando Java haciendo un programa y bla bla bla, todo bien hasta ahí. El caso es que cuando le doy a la tachita de cerrar (mi programa extends Frame) no cierra, no pasa nada, por lo que decidí meterme con las clases que heredó ( lo he probado con System.exit() y con dispose() ):

Código
  1. protected void processWindowEvent(WindowEvent e){
  2.  
  3. if (e.WINDOW_CLOSING) System.exit(0);
  4.  
  5. }

Y me tira error de que no encuentra el símbolo (cannot find symbol), y la única forma de componerlo es que convierta el

Código
  1. import java.awt.*;

Código
  1. import java.awt.*;
  2. import java.awt.event.*;

Y yo me pregunto, ¿qué no se supone que el asterisco es para incluir todo el paquete?


En línea

Casidiablo
Desarrollador
Colaborador
***
Desconectado Desconectado

Mensajes: 2.919



Ver Perfil WWW
Re: processWindowEvent
« Respuesta #1 en: 17 Julio 2007, 23:11 pm »

Esto sucede porque el asterisco incluye TODAS las clases de un paquete, pero event es un paquete no una clase, por lo tanto no lo incluye.

Saludos!


En línea

NekroByte


Desconectado Desconectado

Mensajes: 639


Ver Perfil WWW
Re: processWindowEvent
« Respuesta #2 en: 18 Julio 2007, 05:28 am »

Me imagino que .awt.event es un subpaquete de .awt, porque yo lo que creía era que el .* incluía todo lo que estaba dentro del paquete: clases, subclases y subpaquetes, en fin, todo.

Pero veo que sólo incluye las clases y no los demás paquetes.

Gracias, Casidiablo.
En línea

egyware


Desconectado Desconectado

Mensajes: 526



Ver Perfil WWW
Re: processWindowEvent
« Respuesta #3 en: 19 Julio 2007, 17:50 pm »

no has intendado añadir un WindowListener
y en el metodo WindowClosing agregar el System.exit(0);
xau................. ;D

PS:mmmm viendo tu codigo me parece algo extraño
Código
  1. protected void processWindowEvent(WindowEvent e){
  2. if (e.WINDOW_CLOSING) System.exit(0);
  3. }
  4.  
e.WINDOW_CLOSING que es un int o un boolean porque la sentencia if solo recibe booleans

ps: jiji aqui van extractos de las clases JDialog y Window cimi procesan el processWindowEvent
Código
  1. // extracto de la clase JDialog
  2. protected void processWindowEvent(WindowEvent e) {
  3.        super.processWindowEvent(e);
  4.  
  5.        if (e.getID() == WindowEvent.WINDOW_CLOSING) {
  6.            switch(defaultCloseOperation) {
  7.              case HIDE_ON_CLOSE:
  8.                 setVisible(false);
  9.                 break;
  10.              case DISPOSE_ON_CLOSE:
  11.                 setVisible(false);
  12.                 dispose();
  13.                 break;
  14.              case DO_NOTHING_ON_CLOSE:
  15.                 default:
  16.                 break;
  17.            }
  18.        }
  19. }
  20.  
  21. //extracto de la clase Window
  22. protected void processWindowEvent(WindowEvent e) {
  23.        WindowListener listener = windowListener;
  24.        if (listener != null) {
  25.            switch(e.getID()) {
  26.                case WindowEvent.WINDOW_OPENED:
  27.                    listener.windowOpened(e);
  28.                    break;
  29.                case WindowEvent.WINDOW_CLOSING:
  30.                    listener.windowClosing(e);
  31.                    break;
  32.                case WindowEvent.WINDOW_CLOSED:
  33.                    listener.windowClosed(e);
  34.                    break;
  35.                case WindowEvent.WINDOW_ICONIFIED:
  36.                    listener.windowIconified(e);
  37.                    break;
  38.                case WindowEvent.WINDOW_DEICONIFIED:
  39.                    listener.windowDeiconified(e);
  40.                    break;
  41.                case WindowEvent.WINDOW_ACTIVATED:
  42.                    listener.windowActivated(e);
  43.                    break;
  44.                case WindowEvent.WINDOW_DEACTIVATED:
  45.                    listener.windowDeactivated(e);
  46.                    break;
  47.                default:
  48.                    break;
  49.            }
  50.        }
  51. }
« Última modificación: 20 Julio 2007, 04:04 am por egyware » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines