[英]Creating a menu bar icon without having a visible running application associated with it
我想創建一個與正在運行的應用程序無關的菜單欄圖標。 就像dropbox的菜單欄圖標不會顯示為打開的應用程序一樣,而是僅顯示在菜單欄上。
到目前為止,我得到的是添加菜單欄圖標的代碼:
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可以做到嗎?如果可以,怎么辦?
如果使用appbundler將應用.app
打包為.app
捆綁包,則可以在Info.plist
添加LSUIElement
屬性以LSUIElement
停靠圖標和菜單欄。
<key>LSUIElement</key>
<string>1</string>
(有關示例,請參見此apple.stackexchange問題 )
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.