begin process at 2010 03 21 03:40:36
  Trouver un code source :
 
dans
 
Accueil > 

Tutoriels

 > 

Api

 > MANIPULATION D'UNE BARRE SYSTÈME AVEC JAVA 6

MANIPULATION D'UNE BARRE SYSTÈME AVEC JAVA 6


 Information sur le tutoriel

Note :
7,75 / 10 - par 4 personnes
7,75 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10


 Description

Court tutorial qui présente une petite introduction de la gestion de la barre système en Java.

Tutorial

Suite au post d'une source sur le site : http://www.javafr.com/codes/MANIPULER-BARRE-SYSTEME_36279.aspx je me suis dit que quelques explications permettraient d'éclaircir les choses !

Manipuler la barre système

Une des nouvelles fonctionnalités très intéressantes decette version de Java est l’intégration en standard de la gestion de la barresystème. Auparavant, vous auriez utilisé une des librairies externes :SysTray (http://systray.sourceforge.net/)ou JTray (http://www.javaapis.com/jtray/).Aujourd’hui, avec la disponibilité de cette fonctionnalité dans le JDK 6, Sunfrappe un grand coup pour intégrer vos applications dans le systèmed’exploitation hôte.

La classe principale que vous utiliserez pour avoir accès àla barre système est java.awt.SytemTray.Il n’existe qu’une seule instance de SystemTraydans une application Java, et pour obtenir celle-ci vous devez utiliser laméthode statique SystemTray.getSystemTray().

Néanmoins, Java se voulant portable sur les différentssystèmes d’exploitation du marché, il se peut que cette fonctionnalité ne soitpas disponible sur le système cible qui exécutera votre application. Parconséquent, il est judicieux de vérifier au préalable le support de la barresystème à l’aide de la méthode statique SystemTray.isSupported().Si vous utilisez néanmoins cette fonctionnalité alors que celle-ci n’est pasdisponible, vous risquez de devoir intercepter une exception java.lang.UnsupportedOperationException.

Une fois que vous avez récupéré votre instance du SystemTray, vous allezpouvoir ajouter des objets TrayIcon,qui représente tout simplement une icône dans la barre système. Vouspourrez ajouter/supprimer plusieurs de ces objets dans votre application.Néanmoins, l’ajout d’un objet TrayIconà SystemTray doitgérer l’exception AWTException.Celle-ci ne sera lancée que si vous ne pouvez pas ajouter le TrayIcon, par exemple sivotre bureau ne possède pas de barre système !

Le code suivant illustre cette nouvelle fonctionnalité :

final TrayIcontrayIcon;

if(SystemTray.isSupported()) {

 

    SystemTray tray =SystemTray.getSystemTray();

    Image image = Toolkit.getDefaultToolkit().getImage("duke.gif");

           

    PopupMenu popup = newPopupMenu();

   

    MenuItem defaultItem = new MenuItem("Quitter");

    defaultItem.addActionListener(new ActionListener() {

        public voidactionPerformed(ActionEvent e) {

            System.exit(0);

        }

    });

    popup.add(defaultItem);

 

    trayIcon = newTrayIcon(image, "Java 6 Demo !", popup);

    ActionListener actionListener = new ActionListener() {

        public voidactionPerformed(ActionEvent e) {

            trayIcon.displayMessage("Java 6 newfeature !",

                "Le System Tray en action!",

                TrayIcon.MessageType.INFO);

        }

    };

    trayIcon.setImageAutoSize(true);

    trayIcon.addActionListener(actionListener);

   

    try {

        tray.add(trayIcon);

    } catch(AWTException e) {

        e.printStackTrace();

    }

} else {

...

}

Comme vous pouvez le constater dans l’exemple, un objetTrayIcon est beaucoup plus qu’une simple icône dans la barre système. Celle-cipeut se transformer en message popup et en menu AWT (la limite à ce type demenu est donc celui des menus AWT, ce qui se traduit par une liberté de choixdans la réalisation de menus complexes).

Un objet TrayIconreçoit les évènements de la souris, celui-ci peut donc être associé avec des listeners tel que actionListener, mouseListener et mouseMotionListener. Celadevrait vous donner la possibilité de réaliser des menus très interactifs.Néanmoins, certains évènements sont directement consommés par l’objet, parexemple, le double clic avec le bouton droit de la souris affiche le menuassocié lors de la construction de l’objet TrayIcon.

Une fois l’objet TrayIconcréé, vous aurez tout le loisir de changer ses propriétés pendant l’exécutionde votre application. C’est le cas du menu popup, de l’image ou encore dumessage tooltip qui s’affiche lorsque vous passez la souris dessus.

Bon courage !

 Historique

15 mars 2006 11:40:35 :
Corrections mise en forme

Commentaires

Commentaire de rom1v le 26/10/2006 18:04:50

"final TrayIcontrayIcon;" <-- Y'a pas un problème, là? :)

Sinon, pour le chargement d'image, il faut attendre que l'image soit finie de charger... Le plus simple est d'utiliser ImageIO...

Commentaire de neodante le 26/10/2006 18:30:32 administrateur CS

Si effectivement, enfin le code source est quand à lui juste ... je corrigerais à l'occasion ! ;-)

++

 Ajouter un commentaire




Nos sponsors


Sondage...

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,059 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales