我已经将我的java程序导出到一个可运行的jar文件中,除了一些方法外,它的工作原理很好。当我使用苹果的方法,如..
System.setProperty("apple.laf.useScreenMenuBar", "true");
.. ..和
Toolkit.getDefaultToolkit().getDesktopProperty("apple.awt.contentScaleFactor");
..他们在eclipse中工作,但不要在runnable jar中运行。我该如何解决这个问题?
答案 0 :(得分:1)
很难从片段中知道原因,但是,根据Java Runtime System Properties,您可以将它们作为Java命令的一部分传递,
java -Dapple.laf.useScreenMenuBar="true" com.example.yourApp
或者将它们设置为System.setProperty
的一部分,但是你应该在AWT / Swing库的任何部分有机会初始化之前这样做。
在应用程序中设置属性时(使用 System.setProperty),确保它是第一个语句之一 在你的主要方法内部制作。这样做会在AWT之前设置属性 加载,确保它生效。
或者您可以将应用打包为应用套装,然后您可以将Info.plist
作为here的一部分提供设置