A vista Java Beans mostra todos os eventos definidos nos componentes da sua classe visual.
A vista Java Beans tem três modos para mostrar eventos:
Para ver os eventos num componente:
Quando Mostrar Eventos estiver seleccionado, os eventos utilizados por cada componente são apresentados como descendentes na árvore.
Os eventos estão assinalados com setas verdes , os eventos de alteração de propriedades estão assinalados com setas azuis
.
Para que um evento seja utilizado por um componente, deve haver um ouvinte registado e o método de chamada de retorno deve ter código. A lista de padrões de código fonte reconhecidos utilizados pelo editor visual está descrita na secção padrões de código fonte para eventos. Na imagem que se segue, a vista Java Beans mostra uma JFrame com um evento windowOpened, e mostra um botão com um evento actionPerformed. O botão também tem um PropertyChangeListener para as respectivas propriedades activadas, o que é mostrado com uma seta azul e não verde.
Cada evento é constituído pelo componente origem (a JFrame ou o JButton no exemplo em questão), uma classe que implemente a interface de ouvinte que é adicionada à origem mediante addXXXListener(XXXListener), e código dentro do corpo do método de chamada de retorno.
Em modo Eventos Especializados, cada ouvinte para o componente é mostrado como nó de árvore descendente, e os eventos são mostrados abaixo de cada ouvinte. Isto aumenta o número de artigos na árvore, mas mostra mais detalhes sobre o modo de anexação dos eventos aos componentes. A opção dos dois modos permite decidir qual o nível de detalhe com que se pretende trabalhar.
Em modo especializado, o ícone utilizado para o ouvinte mostra o tipo de classe de ouvinte. Se o ouvinte for uma classe interna anónima que implemente a interface do ouvinte, será usado o ícone , e se o ouvinte for uma classe interna anónima que expanda uma classe de adaptador ouvinte, será usado o ícone
.
Além das classes internas anónimas usadas para ouvintes, também são interpretadas e reconhecidas pelo editor visual classes denominadas e ouvintes partilhados.
Se o ouvinte não for anónimo em modo especializado, o ícone será . Se o ouvinte for partilhado por mais de um componente, será usado o ícone
. Se a classe do ouvinte for utilizada por um único evento, estas estarão enumeradas como descendentes do ouvinte. No entanto, se a classe do ouvinte for utilizada por mais de uma interface de ouvinte de eventos relativa ao componente, em modo especializado estas interfaces de ouvinte são mostradas como descendentes separados da classe do ouvinte, como se mostra na imagem seguinte:
A origem disto é mostrada na seguinte instrução de código. A classe de ouvinte interno IvjEventHandler é utilizada uma vez pelo primeiro botão (este) para um keyPressedEvent, e duas vezes pelo botão "Cancelar", uma vez para keyPressed (que faz parte do evento key) e outra vez para actionPerformed (que faz parte do evento action).
class IvjEventHandler implements java.awt.event.ActionListener, java.awt.event.KeyListener { public void actionPerformed(java.awt.event.ActionEvent e) { if (e.getSource() == VCEStyle2.this.getCancelButton()) connEtoC3(e); }; public void keyPressed(java.awt.event.KeyEvent e) { if (e.getSource() == VCEStyle2.this.getCancelButton()) connEtoC2(e); if (e.getSource() == VCEStyle2.this) connEtoC1(e); }; public void keyReleased(java.awt.event.KeyEvent e) {}; public void keyTyped(java.awt.event.KeyEvent e) {}; };