estoy usando el siguiente código para establecer un icono de la bandeja de Windows y Linux. Funciona de maravilla en Windows y funciona bien en Linux. En Linux (Ubuntu) tengo mi panel dispuesto a ser (un poco) transparente y cuando agrego un archivo GIF (con un fondo transparente) del fondo del icono aparece todo gris y feo (véase la imagen, diamante verde "!"). ... ¿Alguna idea sobre cómo hacer la imagen GIF? ¿Estoy agregando "mantener" su fondo transparente?TrayIcon java utilizando una imagen con fondo transparente
alt text http://unarm.org/stackoverflow/panel_task.jpg
y la imagen que estoy utilizando, si desea probar:
alt text http://unarm.org/stackoverflow/green_info.gif
import java.awt.*;
import java.awt.event.*;
public class TrayFun {
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() {
if (SystemTray.isSupported()) {
final SystemTray tray = SystemTray.getSystemTray();
Image image = Toolkit.getDefaultToolkit().getImage("green_info.png");
PopupMenu popup = new PopupMenu();
final TrayIcon trayIcon = new TrayIcon(image, "The Tip Text", popup);
trayIcon.setImageAutoSize(true);
MenuItem item = new MenuItem("Close");
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("Tray unavailable");
}
}
};
EventQueue.invokeLater(runner);
}
}
Supongo que tendrás que cambiar a un ícono cuadrado :(:( Me complace que encuentres la SystemTray como una buena alternativa para tu aplicación deamon. ¿De qué se trata esta nueva aplicación? :) es ¿una pregunta secreta? – OscarRyz
, esta imagen de icono parece opaca cuando se muestra en otra parte? Una página web por ejemplo? – OscarRyz
Es algo así como un secreto, pero planeo lanzarlo muy probablemente como un proyecto de código abierto muy pronto aquí. La imagen parece bien cuando se muestra en otro lugar. Puede ver que he incrustado debajo de la imagen de mi barra de tareas y sobre el código. – Jack