Linux下运行JFrame程序,报java.lang.UnsupportedOperationException(当前系统不支持系统托盘),怎么解决

Linux下运行JFrame程序,报java.lang.UnsupportedOperationException(当前系统不支持系统托盘),怎么解决?
/**
* 托盘程序
*/
public ServiceTray() {
ti = new TrayIcon(ImageUtil.getBufferedImage("favicon.png"));
ti.setToolTip("智慧监管平台通讯软件");
ti.setImageAutoSize(true);

    try {
        // 添加托盘到系统托盘
        SystemTray.getSystemTray().add(ti);
        // 显示主页面
        sh = new ServiceHome();
        sh.setVisible(true);
        sh.start();
        // YdpDao.initYdpContent();
        // WinLog.write("[字模数据加载完成]", "成功");
    } catch (Exception e) {
        e.printStackTrace();
        return;
    }
    ActionListener al = new ActionListener() {
        public void actionPerformed(ActionEvent e) {
            if ("退出".equals(e.getActionCommand())) {
                System.exit(0);
            } else if ("显示".equals(e.getActionCommand())) {
                if (null != sh) {
                    sh.setVisible(true);
                }
            } else if ("隐藏".equals(e.getActionCommand())) {
                if (null != sh) {
                    sh.setVisible(false);
                }
            }
        }
    };
    PopupMenu pm = new PopupMenu();
    MenuItem mi = new MenuItem("显示");
    pm.add(mi);
    mi.addActionListener(al);

    mi = new MenuItem("隐藏");
    pm.add(mi);
    mi.addActionListener(al);

    mi = new MenuItem("退出");
    pm.add(mi);
    mi.addActionListener(al);
    ti.setPopupMenu(pm);
    ti.addMouseListener(new MouseListener() {
        public void mouseClicked(MouseEvent e) {
            // 双击
            if (e.getClickCount() == 2) {
                if (null != sh) {
                    sh.setVisible(true);
                }
            }
        }

        public void mousePressed(MouseEvent e) {

        }

        public void mouseReleased(MouseEvent e) {

        }

        public void mouseEntered(MouseEvent e) {

        }

        public void mouseExited(MouseEvent e) {

        }
    });
}

 private TrayIcon()
      throws UnsupportedOperationException, HeadlessException, SecurityException
    {
        SystemTray.checkSystemTrayAllowed();
        if (GraphicsEnvironment.isHeadless()) {
            throw new HeadlessException();
        }
        if (!SystemTray.isSupported()) {
            throw new UnsupportedOperationException();
        }
        SunToolkit.insertTargetMapping(this, AppContext.getAppContext());
    }

在linux端运行jar文件,报错了。
图片说明

1
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!

相似问题

0
Linux下运行JFrame程序,报java.lang.UnsupportedOperationException(当前系统不支持系统托盘),怎么解决
4
线上程序图片、音频一般存到哪里?
2
java中怎么给一个数开三次方?注:math.pow(double a,double b)不准确
3
MyBatis动态SQL:中如果有两个参数而且还要比较大小应该怎么设置?
2
ssm框架程序连接oracle报错:
1
怎么把mysql数据库中的图片显示在mui的界面上
0
editor.md 本地图片怎么上传
4
怎么连接远程的postgrepSql数据库!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
4
求教大佬,本人用eclipse做了个习题(如图所示第二题)出现不能运行(一直调试)显示切换当前指令指针
1
新人不知道怎么在geany上怎么用Java
0
使用javacv来实现灰度直方图的绘制,calchist函数运行出错
2
spring jms+activemq 运行1小时后,准时报The session is closed
0
java jdk 1.8 rt. jar GetInstance.Instance() 底层只有方法头是怎么执行的 继续往下跟已经跟不到了
0
SQLSERVRE 怎么指定字段分组排序,再根据上一条数据的A字段更新这一条A字段
3
PHP网站随机增加点击数代码怎么写 有高手帮忙的吗 .hit
4
启动tomcat服务,jconsole和jvisualvm无法监测到怎么处理?
1
resp.sendRedirect("main.jsp");报500错误
2
一开始自己配置的activiti的运行web时报错以为是环境的问题,后面到网上借鉴改了一些还是没用。
0
K8S中前后端调用问题,现在部署到正式的测试服务器上前端应该怎么拼写URL呢?
0
Jenkins部署springboot,打包好了之后报Could not initialize class sun.nio.fs.LinuxNativeDispatcher