Differenze tra le versioni di "Programmazione:Java/JAVA 6 SystemTray e TrayIcon"

Da WikiSitech.
Vai alla navigazioneVai alla ricerca
(Nuova pagina: =JAVA 6 SystemTray e TrayIcon= ---- Usiamo le classi SystemTray e TrayIcon, introdotte dal JAVA 6, per aggiungere alla task bar di Win una applicazione. L'applicazione aggiunge una T...)
 
 
(Una versione intermedia di uno stesso utente non è mostrata)
Riga 1: Riga 1:
=JAVA 6 SystemTray e TrayIcon=
+
[[Programmazione:Java|<< Back to Java]]
  
----
+
==JAVA 6 SystemTray e TrayIcon==
  
 
Usiamo le classi SystemTray e TrayIcon, introdotte dal JAVA 6, per aggiungere alla task bar di Win una applicazione.
 
Usiamo le classi SystemTray e TrayIcon, introdotte dal JAVA 6, per aggiungere alla task bar di Win una applicazione.
Riga 7: Riga 7:
  
 
Per la documentazione ufficiale sun:  
 
Per la documentazione ufficiale sun:  
[http://java.sun.com/javase/6/docs/api/java/awt/TrayIcon.html]
+
* [http://java.sun.com/javase/6/docs/api/java/awt/TrayIcon.html TrayIcon documentation]
[http://java.sun.com/javase/6/docs/api/java/awt/SystemTray.html]
+
* [http://java.sun.com/javase/6/docs/api/java/awt/SystemTray.html SystemTray documentation]  
 
 
  
 
Con click destro (in win) si apre la finestra del Menu con le opzioni
 
Con click destro (in win) si apre la finestra del Menu con le opzioni
  
 
+
<code java>
----
 
 
 
<code>
 
 
import javax.swing.*;
 
import javax.swing.*;
 
import java.awt.*;
 
import java.awt.*;
 
import java.awt.event.*;
 
import java.awt.event.*;
 
  
 
public class FullTray {
 
public class FullTray {
Riga 109: Riga 104:
 
   }
 
   }
 
}
 
}
 
 
</code>
 
</code>
|-|
 

Versione attuale delle 10:30, 14 apr 2008

<< Back to Java

JAVA 6 SystemTray e TrayIcon

Usiamo le classi SystemTray e TrayIcon, introdotte dal JAVA 6, per aggiungere alla task bar di Win una applicazione. L'applicazione aggiunge una TrayIcon nel SystemTray con un MenuItem nel suo PopupMenu.

Per la documentazione ufficiale sun:

Con click destro (in win) si apre la finestra del Menu con le opzioni

import javax.swing.*; import java.awt.*; import java.awt.event.*;

public class FullTray {

 static class ShowMessageListener implements ActionListener {
   TrayIcon trayIcon;
   String title;
   String message;
   TrayIcon.MessageType messageType;
   ShowMessageListener(
       TrayIcon trayIcon,
       String title,
       String message,
       TrayIcon.MessageType messageType) {
     this.trayIcon = trayIcon;
     this.title = title;
     this.message = message;
     this.messageType = messageType;
   }
   public void actionPerformed(ActionEvent e) {
     trayIcon.displayMessage(title, message, messageType);
   }
 }


 public static void main(String args[]) {
   Runnable runner = new Runnable() {
     public void run() {
   	  
   	  //controlliamo che il Sistema supporti il system tray
   	  if (SystemTray.isSupported()) {
         final SystemTray tray = SystemTray.getSystemTray();
         
         Image immagine = Toolkit.getDefaultToolkit().getImage("C:Documents and Settings\\pe1748\\immagine.gif");
         
         //usiamo la classe PopupMenu che estende Menu
         PopupMenu popup = new PopupMenu();
         
         //Ci creiamo la TrayIcon
         final TrayIcon trayIcon = new TrayIcon(immagine, "Giacomo", popup);
         MenuItem item = new MenuItem("Error");
         
         item.addActionListener(new ShowMessageListener(trayIcon,
           "Error Title", "Error Testo", TrayIcon.MessageType.ERROR));
         popup.add(item);
         
         item = new MenuItem("Warning");
         item.addActionListener(new ShowMessageListener(trayIcon,
           "Warning Title", "Warning testo", TrayIcon.MessageType.WARNING));
         popup.add(item);
         
         item = new MenuItem("Info");
         item.addActionListener(new ShowMessageListener(trayIcon,
           "Info Title", "Info testo", TrayIcon.MessageType.INFO));
         popup.add(item);
         
         item = new MenuItem("Info2");
         item.addActionListener(new ShowMessageListener(trayIcon,
           "Info Title", "Info testo", TrayIcon.MessageType.INFO));
         popup.add(item);
         
         item = new MenuItem("Boh?!");
         item.addActionListener(new ShowMessageListener(trayIcon,
           "None Title", "None", TrayIcon.MessageType.NONE));
         popup.add(item);
         
         //Usiamo il metodo remove() di SystemTray per rimuovere la TrayIcon
         item = new MenuItem("Chiudi");
         item.addActionListener(new ActionListener() {
           public void actionPerformed(ActionEvent e) {

tray.remove(trayIcon);

           }

}

         );
         popup.add(item);
         try {
           tray.add(trayIcon);
         } catch (AWTException e) {
           System.err.println("Can't add to tray");
         }
       } else {
         System.err.println("Il Systema non suopporta il SystemTray");
       }
     }
   };
   EventQueue.invokeLater(runner);
 }

}