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.