processWindowEvent

Iniciado por NekroByte, 17 Julio 2007, 03:42 AM

0 Miembros y 1 Visitante están viendo este tema.

NekroByte

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 (java) [Seleccionar]
protected void processWindowEvent(WindowEvent e){

if (e.WINDOW_CLOSING) System.exit(0);

}


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 (JAVA) [Seleccionar]
import java.awt.*;

Código (Java) [Seleccionar]
import java.awt.*;
import java.awt.event.*;


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

Casidiablo

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!

NekroByte

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.

egyware

#3
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 (java) [Seleccionar]

protected void processWindowEvent(WindowEvent e){
if (e.WINDOW_CLOSING) System.exit(0);
}

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 (java) [Seleccionar]

// extracto de la clase JDialog
protected void processWindowEvent(WindowEvent e) {
        super.processWindowEvent(e);

        if (e.getID() == WindowEvent.WINDOW_CLOSING) {
            switch(defaultCloseOperation) {
              case HIDE_ON_CLOSE:
                 setVisible(false);
                 break;
              case DISPOSE_ON_CLOSE:
                 setVisible(false);
                 dispose();
                 break;
              case DO_NOTHING_ON_CLOSE:
                 default:
                 break;
            }
        }
}

//extracto de la clase Window
protected void processWindowEvent(WindowEvent e) {
        WindowListener listener = windowListener;
        if (listener != null) {
            switch(e.getID()) {
                case WindowEvent.WINDOW_OPENED:
                    listener.windowOpened(e);
                    break;
                case WindowEvent.WINDOW_CLOSING:
                    listener.windowClosing(e);
                    break;
                case WindowEvent.WINDOW_CLOSED:
                    listener.windowClosed(e);
                    break;
                case WindowEvent.WINDOW_ICONIFIED:
                    listener.windowIconified(e);
                    break;
                case WindowEvent.WINDOW_DEICONIFIED:
                    listener.windowDeiconified(e);
                    break;
                case WindowEvent.WINDOW_ACTIVATED:
                    listener.windowActivated(e);
                    break;
                case WindowEvent.WINDOW_DEACTIVATED:
                    listener.windowDeactivated(e);
                    break;
                default:
                    break;
            }
        }
}