Tôi đang sử dụng mã sau để đặt biểu tượng khay trong Windows và Linux. Nó hoạt động tuyệt vời trong Windows và hoạt động tốt trong Linux. Trong Linux (Ubuntu), bảng điều khiển của tôi được đặt trong (phần nào) trong suốt và khi tôi thêm một ảnh GIF (với nền trong suốt), nền của biểu tượng hiển thị tất cả màu xám và xấu (xem ảnh, kim cương xanh "!"). ... Bất kỳ ý tưởng nào về cách tạo hình ảnh GIF tôi đang thêm "giữ" nền trong suốt của nó?java TrayIcon sử dụng hình ảnh với nền trong suốt
alt text http://unarm.org/stackoverflow/panel_task.jpg
và hình ảnh tôi đang sử dụng, nếu bạn muốn kiểm tra:
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);
}
}
Tôi đoán bạn sẽ phải chuyển sang biểu tượng hình vuông :(:( Tôi rất vui khi bạn tìm thấy SystemTray như một giải pháp thay thế tốt cho ứng dụng deamon của bạn. Ứng dụng mới này là gì? :) – OscarRyz
câu hỏi, hình ảnh biểu tượng này trông mờ đục khi được hiển thị ở một nơi khác? Một trang web chẳng hạn? – OscarRyz
Đó là một phần bí mật nhưng tôi dự định phát hành nó rất có thể là một dự án mã nguồn mở khá sớm tại đây bạn có thể thấy tôi đã nhúng bên dưới hình ảnh thanh tác vụ của tôi và phía trên mã số – Jack