Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
JavaFX应用程序隐藏OSX停靠图标_Java_Macos_Javafx_Icons_Uielement - Fatal编程技术网

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

JavaFX应用程序隐藏OSX停靠图标,java,macos,javafx,icons,uielement,Java,Macos,Javafx,Icons,Uielement,我需要隐藏javafx应用程序的dock图标。在普通java应用程序中,这可以通过以下属性实现: System.setProperty(“apple.awt.UIElement”、“true”) 但是,这似乎不适用于JavaFX 谢谢 刚刚试过。您必须修改*.app/Contents/Info.plist并添加 <key>LSUIElement</key> <string>1</string> LSUIElement 1. 简单的例子:

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

System.setProperty(“apple.awt.UIElement”、“true”)

但是,这似乎不适用于JavaFX


谢谢

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

<key>LSUIElement</key>
<string>1</string>
LSUIElement
1.
简单的例子:

    <?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>
...

LSUIElement
1.
...

对我来说,它可以在捆绑的javaFX应用程序上工作

根据javaFX,您不能在javaFX应用程序中隐藏dock图标。请看这个

有两种方法可以隐藏停靠图标

  • 苹果标准方式,只需修改*.app/Contents/Info.plist并添加
    LSUIElement
    1
  • 以AWT应用程序的形式启动应用程序,并使用系统属性隐藏停靠图标。设置系统属性后,调用JavaFX main方法,JavaFX应用程序现在将接管,没有停靠图标。请参阅下面的示例代码片段
/**
-此类用于在初始化之前将应用程序作为AWT应用程序启动
-JavaFX应用程序。JavaFX不支持无停靠图标的应用程序,因此
-从AWT应用程序创建JavaFX应用程序,以便实现所需的
-功能。
- */
公共级AWTMain{
公共静态void main(字符串[]args){
//这是awt属性,用于启用无停靠图标
//应用程序
System.setProperty(“apple.awt.UIElement”、“true”);
java.awt.Toolkit.getDefaultToolkit();
//这是对JavaFX应用程序main方法的调用。
//从现在起,我们将控制权转移到外汇应用程序。
FXMain.main(args);
}
}
在这里,FXMain被称为带有main方法的前一个类

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

这是我在这里的第一个答案,很抱歉格式化