this.setVisible(false);
//Verificamos que se soporta TrayIcon en el sistema
if (SystemTray.isSupported()) {
System.out.println("Soporte");
//Recuperamos la barra de trays del sistema
SystemTray tray = SystemTray.getSystemTray();
//Se construye la imagen que se va a usar
ImageIcon imagen1 = new ImageIcon(getClass().getResource("/images/travel-logo.png").getFile());
Image imagen = imagen1.getImage();
//El popup que despliega nuestra app
PopupMenu popup = new PopupMenu();
//Se agregan los items a nuestra app
MenuItem item1 = new MenuItem("Exit");
MenuItem item2 = new MenuItem("Acerca de...");
MenuItem item3 = new MenuItem("Ayuda");
//Añadimos los items al popup
popup.add(item3);
popup.addSeparator();
popup.add(item2);
popup.addSeparator();
popup.add(item1);
//Agragamos los eventos
item1.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
System.exit(0);
}
});
item2.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
//si todavia no esta creado lo creamos
if (aboutUS == null) {
aboutUS = new AcercaDeNosotros(null, true);
aboutUS.setLocationRelativeTo(null);
}
aboutUS.setVisible(true);
}
});
//Agragamos los eventos
item3.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
// TODO Auto-generated method stub
try {
String fileName = "C:/Program Files/ayuda/AIRResources/AIRResources.exe";
File file = new File(fileName);
desktop.open(file);
} catch (IOException ex) {
System.out.println("No se puede abrir el archivo de ayuda");
Logger.getLogger(VentanaPrincipal.class.getName()).log(Level.SEVERE, null, ex);
}
}
});
//Construimos el TrayIcon con la imagen y el popup previamente definidos
trayIcon = new TrayIcon(imagen, "AgenteTuristico", popup);
trayIcon.setImageAutoSize(true);
trayIcon.addMouseListener(new MouseListener() {
@Override
public void mouseReleased(MouseEvent arg0) {
trayIcon.displayMessage("Informacion", "Aplicacion modo normal", TrayIcon.MessageType.INFO);
}
@Override
public void mousePressed(MouseEvent arg0) {
// TODO Auto-generated method stub
//setVisible(true);
//toFront();
}
@Override
public void mouseExited(MouseEvent arg0) {
// TODO Auto-generated method stub
}
@Override
public void mouseEntered(MouseEvent arg0) {
trayIcon.displayMessage("Informacion", "La aplicación continuara ejcutandose en modo desatendido", TrayIcon.MessageType.INFO);
}
@Override
public void mouseClicked(MouseEvent arg0) {
// TODO Auto-generated method stub
setVisible(true);
toFront();
}
});
try {
if (!creadoBar) {
tray.add(trayIcon);
creadoBar = true;
}
trayIcon.displayMessage("Informacion", "La aplicación continuara ejcutandose en modo desatendido", TrayIcon.MessageType.INFO);
} catch (AWTException e) {