JavaFX应用程序隐藏OSX dock图标

 2023-02-16    419  

问题描述

我需要隐藏我的Javafx应用程序的码头图标.在普通的Java应用程序中,可以通过以下属性来实现:

system.setproperty(” apple.awt.uielement”,” true”);

JavaFX应用程序隐藏OSX dock图标

但是,这似乎与Javafx不起作用.

谢谢!

推荐答案

只是尝试了它.您必须修改 *.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应用程序上工作

其他推荐答案

根据Javafx,您无法在Javafx应用程序中隐藏Dock图标.请查看此 link ..

有两种隐藏码头图标的方法.

  • Apple标准方式,只需修改 *.app/contents/info.plist,然后添加
    <key>LSUIElement</key>
    <string>1</string>.
  • 以AWT应用程序启动您的应用程序,并使用系统属性隐藏Dock图标.设置系统属性后调用Javafx Main方法和Javafx应用程序现在将接管没有Dock图标.请参阅下面的示例代码段.
/**
 - 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被称为先前类,带有主要方法.

,如果您使用的是Maven和其他位置,则还需要修改.pom文件.

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

以上所述是小编给大家介绍的JavaFX应用程序隐藏OSX dock图标,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对77isp云服务器技术网的支持!

原文链接:https://77isp.com/post/34016.html

=========================================

https://77isp.com/ 为 “云服务器技术网” 唯一官方服务平台,请勿相信其他任何渠道。