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: | ||
− | + | [[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
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);
}
}