Ola, no meu programa há um system tray, e em um dado momento quando o sistema faz uma verificação eu gostaria que “surgisse” um balão informativo, que em alguns segundos sumisse… como faço isso?
esse é o codigo que cria meu ST
public static void criaAreaNotificacao() {
//Verifica se não é possível trabalhar com "TrayIcon?
if (!SystemTray.isSupported()) {
System.out.println("Não foi possivel adicionar icone ao seu Sytem Tray!!");
return;
}
//Instanciação de um objeto java.awt.PopupMenu
final PopupMenu pop = new PopupMenu();
//Instanciação do objeto java.awt.SystemTray;
final SystemTray tray = SystemTray.getSystemTray();
//Criação do objeto TrayIcon, informando uma imagem e um título
Image image =
Toolkit.getDefaultToolkit().getImage("icones\\icone.gif");
trayIcon = new TrayIcon(image, "Controle de Manutenção ");
//Criação dos itens do Menu Popup
MenuItem item_1 = new MenuItem("Acessar Sistema");
MenuItem item_2 = new MenuItem("Relatorio de Agenda");
MenuItem item_3 = new MenuItem("Sair do Sistema");
//Adicionando os itens ao Menu Popup
pop.add(item_1);
pop.add(item_2);
//Separador (linha que separa os itens no menu)
pop.addSeparator();
pop.add(item_3);
//Separador (linha que separa os itens no menu)
//Setando o menu padrão no TrayIcon, que por acaso é este logo acima.
trayIcon.setPopupMenu(pop);
//Adicionando o Icone na Area de Notificação, como o menu já está dentro do ícone,
//irá junto também.
try {
tray.add(trayIcon);
} catch (AWTException e) {
System.out.println("Erro ao Adicionar!");
return;
}
//Ação do botão "item_1?
item_1.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
//Simplesmente deixa-se a janela visível novamente.
new LoginView().setVisible(true);
//Esta linha deixa a janela sobre as outras, caso ela apareça minimizada.
pai.setExtendedState(JFrame.NORMAL);
try {
//Agora basta remover (ou esconder) o ícone da Área de Notificação
tray.remove(trayIcon);
trayIcon = null;
//Limpando a referência ao Systemtray da classe Janelinha
this.finalize();
} catch (Throwable e1) {
e1.printStackTrace();
}
}
});
//Ação do botão "item_2?
item_2.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
//Vai executar o relatorio de agenda
JOptionPane.showMessageDialog(null,
"Aguarde enquanto é gerado o Relatorio da Agenda para essa semana!");
}
});
//Ação do botão "item_3?
item_3.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
JOptionPane.showMessageDialog(null,
"Você optou por sair do sistema! Para acessa-lo sera necessario digitar a senha novamente!");
verifica(2);
System.exit(0);
}
});
}
}
Agradeço a ajuda