Я пытаюсь создать приложение System Tray в Ubuntu 18.04, используя Java.
Это код, который я выполняю:
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class App {
static{
System.setProperty("java.awt.headless", "false");
}
public static void main(String[] args) {
// if(!SystemTray.isSupported()){
// System.out.println("System Tray is not supported.");
// return;
// }
final PopupMenu popup = new PopupMenu();
Image img = Toolkit.getDefaultToolkit().createImage("/path/img.png");
final TrayIcon trayIcon = new TrayIcon(img);
final SystemTray systemTray = SystemTray.getSystemTray();
//create components of system tray
trayIcon.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent actionEvent) {
System.out.println("In here!");
trayIcon.displayMessage("Test","Some action happened",TrayIcon.MessageType.INFO);
}
});
try{
systemTray.add(trayIcon);
}catch(AWTException e){
System.out.println("TrayIcon could not be added.");
}
}
}
Я закомментировал isSupported () Тестовый фрагмент метода, потому что я продолжал получать "Системный трей не поддерживается".
Исключение, которое я получаю:
Исключение в потоке "main" java.lang.UnsupportedOperationException: Системный трей не поддерживается на текущей платформе.в java.awt.SystemTray.getSystemTray (SystemTray.java:186) в App.main (App.java:16)
Любая идея, как бы я сделал это поддерживается?Кроме того, если у кого-нибудь есть устройство MacOS, можете ли вы попробовать его, и дайте мне знать, если оно работает?Спасибо!