1 package com.melloware.jukes.tray;
2
3 import java.awt.event.MouseAdapter;
4 import java.awt.event.MouseEvent;
5
6 import javax.swing.JPopupMenu;
7
8 import org.apache.commons.logging.Log;
9 import org.apache.commons.logging.LogFactory;
10
11
12
13
14
15
16
17
18 public class JukesTrayMouseAdapter extends MouseAdapter {
19 private static final Log LOG = LogFactory.getLog(JukesTrayMouseAdapter.class);
20 private final JPopupMenu jpopup;
21 private final JukesTrayIcon trayIcon;
22
23
24
25
26
27
28 public JukesTrayMouseAdapter(JukesTrayIcon aTrayIcon, JPopupMenu aJpopupMenu) {
29 super();
30 this.trayIcon = aTrayIcon;
31 this.jpopup = aJpopupMenu;
32 }
33
34
35
36
37
38 public void mousePressed(MouseEvent evt) {
39
40 if (((evt.getModifiers() & MouseEvent.BUTTON3_MASK) != 0) && (evt.getClickCount() == 1)) {
41 LOG.debug("Tray Swing popup menu displayed.");
42 jpopup.setLocation(evt.getX(), evt.getY());
43 jpopup.setInvoker(jpopup);
44 jpopup.setVisible(true);
45 return;
46 }
47
48
49 if (((evt.getModifiers() & MouseEvent.BUTTON1_MASK) != 0) && (evt.getClickCount() == 1)) {
50 LOG.debug("[Tray icon left single click].");
51 trayIcon.leftClicked();
52 }
53
54
55 if (((evt.getModifiers() & MouseEvent.BUTTON1_MASK) != 0) && (evt.getClickCount() == 2)) {
56 LOG.debug("[Tray icon left double clicked].");
57 trayIcon.showWindow();
58 }
59
60
61 if (((evt.getModifiers() & MouseEvent.BUTTON2_MASK) != 0) && (evt.getClickCount() == 1)) {
62 LOG.debug("[Tray icon mouse wheel clicked].");
63 trayIcon.middleClicked();
64 }
65 }
66
67 }