Java 创建菜单栏图标,而不具有与其关联的可见正在运行的应用程序

Java 创建菜单栏图标,而不具有与其关联的可见正在运行的应用程序,java,macos,notification-area,Java,Macos,Notification Area,我想创建一个与正在运行的应用程序无关的菜单栏图标。就像dropbox的菜单栏图标不作为打开的应用程序出现一样,它只出现在菜单栏上 <key>LSUIElement</key> <string>1</string> 到目前为止,我得到的是添加菜单栏图标的代码: package tray; import java.awt.AWTException; import java.awt.SystemTray; import java.awt.TrayIc

我想创建一个与正在运行的应用程序无关的菜单栏图标。就像dropbox的菜单栏图标不作为打开的应用程序出现一样,它只出现在菜单栏上

<key>LSUIElement</key>
<string>1</string>
到目前为止,我得到的是添加菜单栏图标的代码:

package tray;

import java.awt.AWTException;
import java.awt.SystemTray;
import java.awt.TrayIcon;
import java.io.IOException;

import javax.imageio.ImageIO;

import logging.Logger;

public class TrayObject {
    private TrayIcon trayIcon;

    public TrayObject() {
        if(SystemTray.isSupported()) {
            try {
                trayIcon = new TrayIcon(
                            ImageIO.read(getClass().getResource("/Add.png")), 
                            "CodeLibrary");
                SystemTray.getSystemTray().add(trayIcon);
            } catch (IOException e) {
                Logger.log(this, "IOException");
            } catch (AWTException e) {
                Logger.log(this, "AWTException");
            }   
        }
    }

    public static void main(String[] args) {
        TrayObject to = new TrayObject();
    }
}
当我运行该应用程序时,菜单栏图标会按应有的方式显示


但是,问题是,我不希望应用程序“TrayObject”有一个菜单栏,也不希望在应用程序之间切换时可见。我希望菜单栏图标不与正在运行的应用程序“TrayObject”关联。是否可以在Java中执行此操作,如果可以,如何执行?

如果使用将应用程序包装为
.app
捆绑包,则可以在
Info.plist
中添加
LSUIElement
属性以抑制停靠图标和菜单栏

<key>LSUIElement</key>
<string>1</string>
LSUIElement
1.
(参见示例)