繁体   English   中英

JavaFX应用程序隐藏OSX停靠图标

[英]JavaFX application hide OSX dock icon

我需要隐藏我的javafx应用程序的停靠图标。 在普通的Java应用程序中,可以通过以下属性来实现:

System.setProperty(“ apple.awt.UIElement”,“ true”);

但是,这似乎不适用于JavaFX。

谢谢!

根据JavaFX,您无法在JavaFX应用程序中隐藏停靠图标。 请查看此链接

有两种方法来隐藏停靠图标。

  • 以Apple标准方式,只需修改* .app / Contents / Info.plist并添加<key>LSUIElement</key> <string>1</string>
  • 将您的应用程序作为AWT应用程序启动,并使用系统属性隐藏停靠图标。 设置系统属性后,调用JavaFX main方法,JavaFX应用程序将立即接管而没有停靠图标。 请参见下面的示例代码片段。
/**
 - This class is intended to start application as AWT application before initializing
 - JavaFX application. JavaFX does not support dock-icon-less application so we are 
 - creating JavaFX application from AWT application so that we can achieve the desired
 - functionality.
 - */

public class AWTMain {

    public static void main(String[] args) {

        // This is awt property which enables dock-icon-less
        // applications 
        System.setProperty("apple.awt.UIElement", "true");
        java.awt.Toolkit.getDefaultToolkit();

        // This is a call to JavaFX application main method.
        // From now on we are transferring control to FX application. 
        FXMain.main(args);
    }
}

此处,FXMain通过main方法被称为上一类。

如果您还在使用Maven和其他提到应用程序主类的地方,则还需要修改.pom文件。

这是我的第一个答案,非常抱歉。

刚刚尝试过。 您必须修改* .app / Contents / Info.plist并添加

<key>LSUIElement</key>
<string>1</string>

简单的例子:

    <?xml version="1.0" ?>
    <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
    <plist version="1.0">
     <dict>
     <key>LSUIElement</key>
    <string>1</string>
...

对我来说,它适用于捆绑的javaFX应用程序

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM