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 }