Nesta parte serão apresentados alguns listeners.
Uma lista com mais opções pode ser encontrada em Listeners Supported by Swing Components.
Um objeto ActionListener pode ser adicionado em JButton, JTextfield, JCheckBox, JComboBox, JRadioButton, entre outros.
Em cada caso o evento será acionado de uma maneira diferente:
JButton: quando o botão for pressionadoJTextfield: quando a tecla Enter for pressionadaJCheckBox: quando uma opções for selecionadaJComboBox: quando uma opções for selecionadaJRadioButton: quando uma opções for selecionadaActionListener é uma interface. Uma classe que extends ActionListener precisa implementar o método public void actionPerformed(ActionEvent e).
Um WindowListener pode ser adicionado em um JFrame. Este listener monitora interações com a janela.
Também temos WindowFocusListener e WindowStateListener
Deve implementar os seguintes métodos:
windowClosing(WindowEvent e): quando o usuário tenta fechar a janela. Para fechar a janela, este método deve chamar os métodos da janela dispose ou setVisible(false).
windowClosed(WindowEvent e): quando a janela é fechada
windowOpened(WindowEvent e): quando a janela é mostrada pela primeira vez
windowIconified(WindowEvent e): quando a janela é minimizada
windowDeiconified(WindowEvent e): quando a janela dexa de ser minimizada
windowActivated(WindowEvent e) e windowDeactivated(WindowEvent e): quando a janela é ativada ou desativada. Funciona em janelas de diálogo ou frames. É preferível usar o WindowsFocusListener
Deve implementar os seguintes métodos:
windowGainedFocus(WindowEvent e): quando a janela está sendo focada
windowLostFocus(WindowEvent e): quando a janela deixa de ser focada
Deve implementar o seguinte método:
windowStateChanged(WindowEvent e): Chamado quando o estado de uma janela muda. Para mais informações: aquiOBS: Para que as implementações involvendo fechamento da janela funcionem, configurar o fechamento padrão da janela como setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE)
O MouseListener acompanha as ações do mouse e pode ser adicionado em qualquer componente.
Os métodos obrigatórios de um MouseListener são:
mousePressed(MouseEvent e): quando um botão é pressionadomouseReleased(MouseEvent e): quando um botão pressionado é deixado de ser pressionadomouseEntered(MouseEvent e): quando o mouse entra no componentemouseExited(MouseEvent e): quando o mouse sai do componentemouseClicked(MouseEvent e): quando o mouse é clicadoEntre os métodos do MouseEvent e temos o int getClickCount() que retorna quantas vezes o botão do mouse foi clicado em um pequeno intervalo de tempo.
O KeyListener pode ser adicionado em qualquer componente e é acionado quando o foco do teclado está naquele componente
Os nomes dos seus métodos obrigatórios são:
keyTyped(KeyEvent e)keyPressed(KeyEvent e)keyReleased(KeyEvent e)Entre os métodos do KeyEvent e temos o char getKeyChar() onde é possível pegar o character da tecla que deu origem ao evento.