Manipuler la barre systeme

Contenu du snippet

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 / Exemple :


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 ;-)

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.