View Javadoc

1   /**
2    * Copyright 2008 WebPhotos
3    *
4    * Licensed under the Apache License, Version 2.0 (the "License");
5    * you may not use this file except in compliance with the License.
6    * You may obtain a copy of the License at
7    *
8    *      http://www.apache.org/licenses/LICENSE-2.0
9    *
10   * Unless required by applicable law or agreed to in writing, software
11   * distributed under the License is distributed on an "AS IS" BASIS,
12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13   * See the License for the specific language governing permissions and
14   * limitations under the License.
15   */
16  /*
17   * AcaoPopup.java
18   *
19   * Created on 29 de Maio de 2006, 15:50
20   *
21   * To change this template, choose Tools | Template Manager
22   * and open the template in the editor.
23   */
24  package net.sf.webphotos.action;
25  
26  import java.awt.event.MouseAdapter;
27  import java.awt.event.MouseEvent;
28  import javax.swing.JPopupMenu;
29  
30  /**
31   * Trabalha o evento do clique do mouse (mousePressed) e apresenta uma janela
32   * com menu popup. Possui um dado atributo, objeto do tipo
33   * {@link javax.swing.JPopupMenu JPopupMenu} que é a janela popup. Após acionado
34   * o método
35   * {@link java.awt.event.MouseAdapter#mousePressed(MouseEvent) mousePressed}(MouseEvent
36   * evt), exibe a janela popup com o valor armazenado no objeto.
37   *
38   * @author guilherme
39   */
40  public class AcaoPopup extends MouseAdapter {
41  
42      private JPopupMenu menu;
43  
44      /**
45       * Construtor da classe. Recebe um objeto
46       * {@link javax.swing.JPopupMenu JPopupMenu} e seta esse valor a variável
47       * existente na classe.
48       *
49       * @param m Menu popup.
50       */
51      public AcaoPopup(JPopupMenu m) {
52          menu = m;
53      }
54  
55      /**
56       * Esse método gera uma janela popup. Ao clicar do mouse, abre uma janela
57       * Popup com o conteúdo do objeto menu, e com dimensão já especificada nos
58       * dados de envio dos parâmetros.
59       *
60       * @param evt Evento de ação do mouse.
61       */
62      @Override
63      public void mousePressed(MouseEvent evt) {
64          menu.show(evt.getComponent(), (menu.getWidth() - 24) * -1, 24);
65      }
66  }