eu peguei um outro exemplo da devmedia e mesmo assim nao consegui rodar
ela nao aparece no systray
[code]//Importando as bibliotecas necessárias
import java.awt.AWTException;
import java.awt.CheckboxMenuItem;
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;
import java.awt.event.MouseEvent;
import java.awt.event.MouseListener;
import javax.swing.JOptionPane;
public class Main {
public static void main(String[] args) {
final TrayIcon trayIcon; // declarando uma constante do tipo TrayIcon
// Aqui vamos testar se o recurso é suportado
if (SystemTray.isSupported()) {
//declarando uma variavel do tipo SystemTray
SystemTray tray = SystemTray.getSystemTray();
//declarando uma variavel do tipo Image que contera a imagem tray.gif
Image image = Toolkit.getDefaultToolkit().getImage("tray.gif");
//Criamos um listener para escutar os eventos de mouse
MouseListener mouseListener = new MouseListener() {
public void mouseClicked(MouseEvent e) {
}
public void mouseEntered(MouseEvent e) {
}
public void mouseExited(MouseEvent e) {
}
public void mousePressed(MouseEvent e) {
//Toda vez que for clicado imprime uma mensagem na tela
System.out.println("Tray Icon - O Mouse foi pressionado!");
}
public void mouseReleased(MouseEvent e) {
}
};
// Criamos um ActionListener para a ação de encerramento do programa.
ActionListener exitListener = new ActionListener() {
public void actionPerformed(ActionEvent e) {
//Imprime uma mensagem de despedida na tela
System.out.println("Saindo...");
JOptionPane.showMessageDialog(null, "Saindo...");
System.exit(0);
}
};
// Criamos um ActionListener para a exibir uma mensagem na tela ao clicarmos
//em um item do menu.
ActionListener mostramsglistener = new ActionListener() {
public void actionPerformed(ActionEvent e) {
JOptionPane.showMessageDialog(null, "Java 6 é uma revolução.");
}
};
//Criando um objeto PopupMenu
PopupMenu popup = new PopupMenu("Menu de Opções");
//criando itens do menu
MenuItem mostramsg = new MenuItem("Exibir Mensagem");
MenuItem defaultItem = new MenuItem("Sair");
//na linha a seguir associamos os objetos aos eventos
mostramsg.addActionListener(mostramsglistener);
defaultItem.addActionListener(exitListener);
//Adicionando itens ao PopupMenu
popup.add(mostramsg);
//adiconando um separador
popup.addSeparator();
//Criando objetos do tipo Checkbox
CheckboxMenuItem cheque1 = new CheckboxMenuItem("Ativar Plugins");
popup.add(cheque1);
CheckboxMenuItem cheque2 = new CheckboxMenuItem("Iniciar Minimizado");
popup.add(cheque2);
popup.addSeparator();
//Criando um submenu
PopupMenu popup2 = new PopupMenu("SubMenu de Opções");
MenuItem mostramsg2 = new MenuItem("Item1");
MenuItem mostramsg3 = new MenuItem("Item2");
MenuItem mostramsg4 = new MenuItem("Item3");
popup2.add(mostramsg2);
popup2.add(mostramsg3);
popup2.add(mostramsg4);
popup.add(popup2);
popup.addSeparator();
popup.add(defaultItem);
//criando um objeto do tipo TrayIcon
trayIcon = new TrayIcon(image, "TrayIcon Demonstração", popup);
ActionListener actionListener = new ActionListener() {
public void actionPerformed(ActionEvent e) {
trayIcon.displayMessage("Action Event",
"Um Evento foi disparado",
TrayIcon.MessageType.INFO);
}
};
//Na linha a seguir a imagem a ser utilizada como icone sera redimensionada
trayIcon.setImageAutoSize(true);
//Seguida adicionamos os actions listeners
trayIcon.addActionListener(actionListener);
trayIcon.addMouseListener(mouseListener);
//Tratamento de erros
try {
tray.add(trayIcon);
} catch (AWTException e) {
System.err.println("Erro, TrayIcon não sera adicionado.");
}
} else {
//Caso o item System Tray não for suportado
JOptionPane.showMessageDialog(null, "recurso ainda não esta disponível pra o seu sistema");
}
}
}// Fim do código.[/code]