Adjunto el código para que lo usen.
//esto formatea el codigo java
import java.awt.*;
import java.awt.event.*;
import javax.swing.ImageIcon;
public class EjemploSystemTray {
public EjemploSystemTray() {
//se declara el objeto tipo icono
final TrayIcon iconoSystemTray;
//se verifica que el SystemTray sea soportado
if (SystemTray.isSupported()) {
//se obtiene una instancia estática de la clase SystemTray
SystemTray tray = SystemTray.getSystemTray();
//esta es la imagen de icono que esta en la misma carpeta que las clases
ImageIcon icono = new ImageIcon(EjemploSystemTray.class.getResource("CARITA.PNG"));
//este listener nos permite capturar cualquier tipo de evento
//que se haga con el mouse sobre el icono
MouseListener mouseListener = new MouseListener() {
public void mouseClicked(MouseEvent e) {
System.out.println("Icono del System Tray - Mouse clicked!");
}
public void mouseEntered(MouseEvent e) {
System.out.println("Icono del System Tray - Mouse entered!");
}
public void mouseExited(MouseEvent e) {
System.out.println("Icono del System Tray - Mouse exited!");
}
public void mousePressed(MouseEvent e) {
System.out.println("Icono del System Tray - Mouse pressed!");
}
public void mouseReleased(MouseEvent e) {
System.out.println("Icono del System Tray - Mouse released!");
}
};
//este listener se asociara con un item del menu contextual
//que aparece al hacer click derecho sobre el icono
ActionListener escuchadorSalir = new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.out.println("Saliendo...");
System.exit(0);
}
};
//menu que aparece al hacer click derecho
PopupMenu popup = new PopupMenu();
MenuItem item = new MenuItem("Exit");
item.addActionListener(escuchadorSalir);
popup.add(item);
//iniciamos el objeto TrayIcon
iconoSystemTray = new TrayIcon(icono.getImage(), "Prueba System Tray", popup);
//este tipo de listener captura el doble click sobre el icono
ActionListener accionMostrarMensaje = new ActionListener() {
public void actionPerformed(ActionEvent e) {
iconoSystemTray.displayMessage("Titulo mensaje",
"Este es el contenido del mensaje!",
TrayIcon.MessageType.INFO);
}
};
iconoSystemTray.setImageAutoSize(true);
iconoSystemTray.addActionListener(accionMostrarMensaje);
iconoSystemTray.addMouseListener(mouseListener);
//se debe capturar una excepción en caso que falle la adicion de un icono
try {
tray.add(iconoSystemTray);
} catch (AWTException e) {
System.err.println("No es posible agregar el icono al System Tray");
}
}
else
System.err.println("Tu sistema no soporta el System Tray :(");
}
public static void main(String[] args) {
new EjemploSystemTray();
}
}






Muy buen ejemplo, me sirvió, muchas gracias.
ResponderEliminar