Manipuladores de eventos de janela

Eventos associados à manipulação de janelas são definidos na interface WindowListener. Essa interface especifica os seguintes métodos:

windowOpened()
trata evento que é apenas gerado quando a janela é criada e aberta pela primeira vez
windowClosing()
usuário solicitou que a janela fosse fechada, seja através de um menu do sistema ou através de um botão da barra de títulos ou através de uma sequência de teclas do sistema.
windowClosed()
trata evento que indica que a janela foi fechada.
windowIconified()
trata evento que indica que janela foi iconificada.
windowDeiconified()
trata evento indicando que o ícone da janela foi aberto.
windowActivated()
trata evento que indica que a janela ganhou o foco do teclado e tornou-se a janela ativa.
windowDeactivated()
trata evento que indica que a janela deixou de ser a janela ativa, provavelmente porque outra janela foi ativada.

Todos esses métodos têm como argumento um objeto da classe WindowEvent, que representa um evento de janela.

Como a interface WindowListener especifica diversos métodos, uma classe adaptadora abstrata, WindowAdapter, é fornecida com implementações vazias de todos os métodos.

Esse exemplo ilustra a implementação de um manipulador de eventos de janela que, na maior parte dos casos, simplesmente ecoa a string que identifica o evento ocorrido para a saída padrão. A execução desse código, que mostra como o objeto da classe manipuladora de eventos é usada em um frame, resulta em uma saída similar a:

java.awt.event.WindowEvent[WINDOW_ACTIVATED] on frame0/class EventosJanela
java.awt.event.WindowEvent[WINDOW_OPENED] on frame0/class EventosJanela
java.awt.event.WindowEvent[WINDOW_CLOSING] on frame0/class EventosJanela
    

Essa saída corresponde aos eventos decorrentes da criação da janela (as duas primeiras linhas) e ao evento de "matar" a janela (última linha). Dependendo de outras ações executadas sobre a janela, outras linhas poderiam estar presentes entre a segunda e a última linhas.


© Ivan L. M. Ricarte
DCA/FEEC/UNICAMP

Last modified: Mon Aug 14 09:15:21 EST 2000