Ola amigos,
O recurso que minimiza uma aplicação para ao lado do relogio é TrayIcon mesmo?
Alguem teria algum codigo ou tecnica para implementala numa aplicação com Frame usando o NetBeans 6.1
obrigado a todos
Esse foi um código que encontrei na net e utilizei em uma aplicação que fiz… espero que te ajude.
package Cliente.cache;
import java.awt.AWTException;
import java.awt.HeadlessException;
import java.awt.Image;
import java.awt.MenuItem;
import java.awt.Panel;
import java.awt.PopupMenu;
import java.awt.SystemTray;
import java.awt.TrayIcon;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.image.BufferedImage;
import javax.swing.Icon;
import javax.swing.JOptionPane;
import javax.swing.plaf.metal.MetalIconFactory;
public class IconeBarraTarefa {
public void metodo(String nomeServico, int status) throws AWTException, InterruptedException{
TrayIcon icon = new TrayIcon(getImage(), "Aplicacao Java executando...",
createPopupMenu());
icon.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
JOptionPane.showMessageDialog(null, "Ha um novo serviço\n" +
"ou atualizacao disponivel!");
}
});
SystemTray.getSystemTray().add(icon);
Thread.sleep(3000);
if(status == 1)
icon.displayMessage("Notificacao de novo servico "+ nomeServico + "!!", "Por favor clique aqui.",
TrayIcon.MessageType.INFO);
else if(status ==2)
icon.displayMessage("Notificacao de atualizacao para o servico: "+ nomeServico, "Por favor clique aqui.",
TrayIcon.MessageType.WARNING);
}
private Image getImage() throws HeadlessException {
Icon defaultIcon = MetalIconFactory.getTreeHardDriveIcon();
Image img = new BufferedImage(defaultIcon.getIconWidth(),
defaultIcon.getIconHeight(), BufferedImage.TYPE_4BYTE_ABGR);
defaultIcon.paintIcon(new Panel(), img.getGraphics(), 0, 0);
return img;
}
private PopupMenu createPopupMenu() throws HeadlessException {
PopupMenu menu = new PopupMenu();
MenuItem exit = new MenuItem("Sair");
exit.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
System.exit(0);
}
});
menu.add(exit);
return menu;
}
}
Olá
Isso funciona somente se vc estiver utilizando java 1.6 ou java 6!!
Para java 1.5 ou java 5 tem que usar uma api e uma dll…
tem um exemplo para java 5, link
Espero ter ajudado
Flwss
Amigo,
o frame meu onde que eu quero que ele minimize para o relogio é PainelPrincipal.java dentro do pacote sistema.
eu criei o arquivo IconeBarraTarefa.java dentro do mesmo pacote mas sei que n é assim…
como que eu posso integrar esse codigo com a minha aplicação amigo…que funcione
ah…minha versao do java é 1.6