Partage
  • Partager sur Facebook
  • Partager sur Twitter

Utilisation de SystemTray pour une appli en barre des tâches

    22 septembre 2011 à 15:28:54

    Bonjour,

    J'ai quelques soucis dans le développement d'une application graphique Java. Cette appli doit s'ouvrir uniquement dans la barre des tâches et dérouler un menu quand on passe la souris dessus. Dans ce menu je dois implémenter deux entrées qui permettent de lancer un coup de fil skype et lancer une plateforme mail.

    J'ai trouver quelle classe utilisé pour faire tourner l'appli en barre des tâches. Je vous joins le code ci-dessous:
    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");
     
                    MouseAdapter mouseAdapter = new MouseAdapter() {
     
                        /*@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 exit = new MenuItem("Exit");
                    MenuItem skype = new MenuItem("Skype");
                    exit.addActionListener(exitListener);
                    popup.add(exit);
                    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(mouseAdapter);
     
                    //    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();
        }
     
    }
    


    Mes soucis à ce stade sont les suivants:

    1. Je n'arrive pas à trouver l’événement associé au focus de la souris et comment l'implémenter.

    2. Comment lancer lancer skype/mail depuis une entrée dans le popupMenu.

    Je vous remercie d'avance,

    Swordi
    • Partager sur Facebook
    • Partager sur Twitter
      24 septembre 2011 à 0:47:51

      Any help is welcome guys.

      Ty
      • Partager sur Facebook
      • Partager sur Twitter

      Utilisation de SystemTray pour une appli en barre des tâches

      × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
      × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
      • Editeur
      • Markdown