begin process at 2008 05 16 07:32:49
1 173 219 membres
61 nouveaux aujourd'hui
13 970 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

MANIPULER LA BARRE SYSTEME


Information sur la source

Catégorie :Api Classé sous : system, tray, systray, icone, systeme Niveau : Débutant Date de création : 26/02/2006 Vu : 11 837

Note :
10 / 10 - par 3 personnes
10,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (10)
Ajouter un commentaire et/ou une note


Description

Il existe beaucoup de librairies externes qui vous permettent de jouer avec la barre système. Vous savez la barre qui affiche l'heure et de petites icones lorsqu'une application se rétrécie par exemple. Ici le code présentée n'est compatible qu'avec le JDK 6 (vous pouvez obtenir le SDK de la beta à cette adresse : http://java.sun.com/javase/6/) et représente donc l'utilisation standard de la feature du system tray dans Java.

Remarque : JAVA 6 obligatoire ! Version six comme le chiffre 6!

Source

  • import java.awt.AWTException;
  • import java.awt.Image;
  • import java.awt.MenuItem;
  • import java.awt.PopupMenu;
  • import java.awt.SystemTray;
  • import java.awt.Toolkit;
  • import java.awt.TrayIcon;
  • import java.awt.event.ActionEvent;
  • import java.awt.event.ActionListener;
  • public class Demo1 {
  • public static void main(String[] args) {
  • final TrayIcon trayIcon; // Notre icone dans la barre système
  • // On vérifie que le support de la feature du SystemTray est compatible avec l'OS hote
  • if (SystemTray.isSupported()) {
  • SystemTray tray = SystemTray.getSystemTray();
  • Image image = Toolkit.getDefaultToolkit().getImage("duke.gif"); // On récupère l'image qui nous servira d'icone
  • PopupMenu popup = new PopupMenu(); // Notre menu (clic droit sur l'icone systray)
  • MenuItem defaultItem = new MenuItem("Quitter");
  • defaultItem.addActionListener(new ActionListener() {
  • public void actionPerformed(ActionEvent e) {
  • System.exit(0);
  • }
  • });
  • popup.add(defaultItem);
  • trayIcon = new TrayIcon(image, "Java 6 Demo !", popup); // Création de l'icone systray
  • ActionListener actionListener = new ActionListener() {
  • public void actionPerformed(ActionEvent e) {
  • trayIcon.displayMessage("Java 6 new feature !",
  • "Le System Tray en action !",
  • TrayIcon.MessageType.INFO);
  • }
  • };
  • trayIcon.setImageAutoSize(true);
  • trayIcon.addActionListener(actionListener);
  • try {
  • tray.add(trayIcon);
  • } catch (AWTException e) {
  • e.printStackTrace();
  • }
  • } else {
  • // ...
  • }
  • }
  • }
import java.awt.AWTException;
import java.awt.Image;
import java.awt.MenuItem;
import java.awt.PopupMenu;
import java.awt.SystemTray;
import java.awt.Toolkit;
import java.awt.TrayIcon;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

public class Demo1 {

	public static void main(String[] args) {
		final TrayIcon trayIcon; // Notre icone dans la barre système
		
		// On vérifie que le support de la feature du SystemTray est compatible avec l'OS hote
		if (SystemTray.isSupported()) {

		    SystemTray tray = SystemTray.getSystemTray();
		    Image image = Toolkit.getDefaultToolkit().getImage("duke.gif"); // On récupère l'image qui nous servira d'icone
		            
		    PopupMenu popup = new PopupMenu(); // Notre menu (clic droit sur l'icone systray)
		    
		    MenuItem defaultItem = new MenuItem("Quitter");
		    defaultItem.addActionListener(new ActionListener() {
		        public void actionPerformed(ActionEvent e) {
		            System.exit(0);
		        }
		    });
		    popup.add(defaultItem);

		    trayIcon = new TrayIcon(image, "Java 6 Demo !", popup); // Création de l'icone systray

		    ActionListener actionListener = new ActionListener() {
		        public void actionPerformed(ActionEvent e) {
		            trayIcon.displayMessage("Java 6 new feature !", 
		                "Le System Tray en action !",
		                TrayIcon.MessageType.INFO);
		        }
		    };
		    trayIcon.setImageAutoSize(true);
		    trayIcon.addActionListener(actionListener);
		    
		    try {
		        tray.add(trayIcon);
		    } catch (AWTException e) {
		        e.printStackTrace();
		    }

		} else {
			// ...
		}
	}
}

Conclusion

N'oubliez pas d'installer le JDK 6 avant d'exécuter ce programme ;-)
  • signaler à un administrateur
    Commentaire de gmi19oj19 le 27/02/2006 09:09:58

    Je savais comment faire via l'API JDIC dont est extraite cette nouvelle fonctionnalité et je remarque qu'il n'y a pas de changement énorme dans le code.

    Merci pour l'exemple :)

  • signaler à un administrateur
    Commentaire de Twinuts le 27/02/2006 16:13:39 administrateur CS

    Sympas l'exemple,
    même si je ne veux pas installer java 6 pour le moment (donc pas de teste possible) ça reste plus simple à faire qu'en jni :)

  • signaler à un administrateur
    Commentaire de neodante le 27/02/2006 18:47:53 administrateur CS

    Je vais mettre d'autres exemples de ce type, et en Java 6 il y en a beaucoup ;-)
    ++

  • signaler à un administrateur
    Commentaire de lyesnet le 08/03/2006 11:18:01

    bjr
    j' ai teste votre exemple avec jdk1.6 mais ca marche pas.
    A la compilation j'ai tout un rapprt d'erreurs qui me saute au yeux
    please aide

  • signaler à un administrateur
    Commentaire de neodante le 08/03/2006 11:44:54 administrateur CS

    SI tu as téléchargé le JDK 6 Beta (pas les snapshots) il n'y a aucune raison que cela ne marche pas , c'est du standard.

    Néanmoins, pourrais-tu au moins me donner le type de tes erreur ?

    ++

  • signaler à un administrateur
    Commentaire de Stubbornman le 16/12/2006 19:12:09

    Pour ma part, ca fonctionne très bien. Merci pour l'exemple.

  • signaler à un administrateur
    Commentaire de hayeb967 le 16/06/2007 19:33:13

    merci pour ce formation

  • signaler à un administrateur
    Commentaire de docv266 le 22/08/2007 11:01:29

    Merci, ça marche impec sauf que mon image est invible!
    Ca peut être du à quoi?
    Sinon c'est vraiment super...

  • signaler à un administrateur
    Commentaire de cedalbi0 le 25/09/2007 11:30:50

    docv266 : Tu dois placer une image "duke.gif" dans la racine du projet. J'avais la même erreur que toi (pas d'image dans la barre système) et là ça fonctionne à présent.

    Merci pour l'exemple!

  • signaler à un administrateur
    Commentaire de GillesWebmaster le 14/10/2007 18:59:11 10/10

    tout simplement génial!!!

Ajouter un commentaire

Appels d'offres

Pub



CalendriCode

Mai 2008
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

Téléchargements

Logiciels à télécharger sur le même thème :

Boutique

Boutique de goodies CodeS-SourceS