Déclenchement de l'évenement mouseEntered(MouseEvent e)
Bonjour,
J'ai un soucis avec une application que je suis en train de développer. L’événement mouseEntered(mouseEvent e) ne me donne aucun résultat. Je m'explique: j'aimerais, au passage de la souris sur une icône en barre des tâches, qu'un popupMenu() s'ouvre. J'arrive pour l'instant à le faire en faisant clique droit mais cette fonctionnalité m'est offerte grâce au constructeur de la classe trayIcon. Avec le code cela risque d'être un peu plus clair:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108
| /*
*
*
*
*/
package systemtray;
import java.awt.*;
import java.awt.event.*;
import java.util.logging.Level;
import java.util.logging.Logger;
public class SystemTrayTest
{
public SystemTrayTest()
{
final TrayIcon trayIcon;
if (SystemTray.isSupported()) {
try {
SystemTray tray = SystemTray.getSystemTray();
Image image = Toolkit.getDefaultToolkit().getImage("tray.gif");
MouseListener mouseListener = new MouseListener() {
@Override
public void mouseClicked(MouseEvent e) {
System.out.println("Tray Icon - Mouse clicked!");
}
@Override
public void mouseEntered(MouseEvent e) {
System.out.println("Tray Icon - Mouse entered!");
}
@Override
public void mouseExited(MouseEvent e) {
System.out.println("Tray Icon - Mouse exited!");
}
@Override
public void mousePressed(MouseEvent e) {
System.out.println("Tray Icon - Mouse pressed!");
}
@Override
public void mouseReleased(MouseEvent e) {
System.out.println("Tray Icon - Mouse released!");
}
};
ActionListener exitListener = new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
System.out.println("Exiting...");
System.exit(0);
}
};
PopupMenu popup = new PopupMenu();
MenuItem defaultItem = new MenuItem("Exit");
MenuItem skype = new MenuItem("Skype");
defaultItem.addActionListener(exitListener);
popup.add(defaultItem);
popup.add(skype);
trayIcon = new TrayIcon(image, "Tray Demo", popup);
ActionListener actionListener = new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
trayIcon.displayMessage("Action Event",
"An Action Event Has Been Peformed!",
TrayIcon.MessageType.INFO);
}
};
trayIcon.setImageAutoSize(true);
trayIcon.addActionListener(actionListener);
trayIcon.addMouseListener(mouseListener);
// Depending on which Mustang build you have, you may need to uncomment
// out the following code to check for an AWTException when you add
// an image to the system tray.
// try {
tray.add(trayIcon);
// } catch (AWTException e) {
// System.err.println("TrayIcon could not be added.");
// }
} catch (AWTException ex) {
Logger.getLogger(SystemTrayTest.class.getName()).log(Level.SEVERE, null, ex);
}
} else {
System.err.println("System tray is currently not supported.");
}
}
/**
* @param args the command line arguments
*/
public static void main(String[] args)
{
SystemTrayTest main = new SystemTrayTest();
}
} |
Merci d'avance pour votre aide,
swordi