Você pode incluir um evento em um componente na visualização Design ou na visualização Java Beans.
Um listener que é incluído utilizando o método de dois argumentos é específico de uma determinada propriedade, então, ele não pode ser reutilizado em outra propriedade. Um listener incluído com um método de único argumento tem uma instrução if que verifica o nome da propriedade antes do processamento da lógica para cada retorno de chamada de propriedade, conforme mostrado no seguinte código:
javaBean.addPropertyChangeListener(new java.beans.PropertyChangeListener() { public void propertyChange(java.beans.PropertyChangeEvent e) { if ((e.getPropertyName().equals("font"))) { System.out.println("propertyChange(font)"); } } });
Isso permite que um PropertyChangeListener incluído com um método de único argumento seja utilizado por mais de uma propriedade (tendo vários blocos if{} utilizados).
Ao incluir um evento, se houver um listener existente que possa ser utilizado, o método de retorno de chamada será incluído nele. Caso contrário, um novo listener é criado. Para que um listener existente seja utilizado, ele deve ser uma classe interna anônima no JavaBean que implemente a interface do listener. Ela deve ter um corpo de método vazio para o método de retorno de chamada ou estender a classe do adaptador. E também não deve ter nenhum método existente para o retorno de chamada de evento sendo incluído. Para uma propriedade, um PropertyChangeListener existente será reutilizado se ele for incluído no JavaBean com o método de único argumento addPropertyChange(PropertyChangeListener listener). Se ele ainda não tiver um código, o processamento da propriedade será incluído.
Se não houver nenhum listener candidato existente no qual o método de retorno de chamada possa ser incluído, um novo listener será criado. Ele será uma classe interna anônima e, se uma classe de adaptador tiver sido definida para o evento, o listener estenderá isso. Caso contrário, ele implementará a interface do listener. Depois que o evento for incluído, um método stub será criado com um comentário //TODO. O método stub é um indicador do código fonte que será executado quando o evento ocorrer e isso deverá ser alterado para que você possa executar o comportamento desejado. O comentário //TODO é exibido na janela Tarefas, sinalizando os métodos incompletos. Sendo assim, você pode localizá-los posteriormente e remover o comentário //TODO após a gravação da lógica de retorno de chamada.
No exemplo anterior, o método windowOpened já existe. Se esse for um listener que estenda o adaptador, o mesmo listener será reutilizado porque ele ainda não tem um método windowClosed. O método windowClosed(WindowEvent e) é incluído e o stub do método e o comentário //TODO são incluídos como mostrado a seguir:
this.addWindowListener(new java.awt.event.WindowAdapter() { public void windowClosed(java.awt.event.WindowEvent e) { System.out.println("windowClosed()"); // TODO Auto-generated stub windowClosed() } public void windowOpened(java.awt.event.WindowEvent e) { callExistingWindowOpenedLogic(); } });
No modo de especialista, os eventos ainda podem ser incluídos no JavaBean, conforme mostrado anteriormente, mas eles também podem ser incluídos em um listener na árvore Java Beans. O menu Eventos mostra todos os métodos de retorno de chamada do evento no listener e os já utilizados são desativados.
Para um PropertyChangeListener o menu pop-up mostra todas as propriedades do limite no JavaBean. Se alguma já estiver sendo utilizada por PropertyChangeListener, elas serão desativadas.
Um listener incluído com um método de único argumento tem uma instrução if que verifica o nome da propriedade antes do processamento da lógica para cada retorno de chamada de propriedade, conforme mostrado no seguinte código:
javaBean.addPropertyChangeListener(new java.beans.PropertyChangeListener() { public void propertyChange(java.beans.PropertyChangeEvent e) { if ((e.getPropertyName().equals("font"))) { System.out.println("propertyChange(font)"); } } });
Isso permite que um PropertyChangeListener incluído com um método de único argumento seja utilizado por mais de uma propriedade (tendo vários blocos if{} utilizados). E quando o segundo ou o subseqüente retorno de chamada de propriedade é incluído, um novo bloco if{} também é incluído.
Se o propertyChangeListener for incluído no JavaBean utilizando o método de dois argumentos addPropertyChangeListener(String propertyName, PropertyChangeListener listener), ele será específico para uma determinada propriedade e, portanto, poderá ser reutilizado por outra propriedade. Nesse caso, todos os menus filhos Eventos em cascata são desativados.
Tópico Principal: Manipulando eventos com o editor visual
Conceitos Relacionados
A Visualização Java Beans
Tarefas Relacionadas
Excluindo eventos de um componente
Visualizando eventos para um componente
Visualizando a origem para um evento