我的应用程序生成 Canvas 时遇到问题(我正在使用 JavaFx)。设置此选项有助于:
-Dprism.order=j2d
问题在于我找不到棱镜( Dprism )的任何文档。第二个问题是我想通过配置文件设置这个选项。
Properties props = System.getProperties();
props.setProperty("com.sun.prism.order", "j2d");
上面的代码对我不起作用。
这些是 JavaFX 20 个月前使用的属性(来自adamish 博客):
com.sun.scenario.animation.adaptivepulse
com.sun.scenario.animation.AnimationMBean.enabled
com.sun.scenario.animation.nogaps
decora.purgatory
glass.platform
javafx.animation.framerate
javafx.animation.fullspeed
javafx.animation.pulse
javafx.debug
javafx.embed.isEventThread
javafx.sg.warn
javafx.toolkit
javafx.verbose
javafx.version
nativewindow.ws.name
prism.debug
prism.device
prism.dirtyregioncount
prism.disableBadDriverWarning
prism.forcerepaint
prism.multisample
prism.noFallback
prism.order
prism.printallocs
prism.reftype
prism.showcull
prism.showdirty
prism.shutdownHook
prism.tess
prism.tessaa
prism.trace
prism.verbose
quantum.debug
quantum.pulsedebug
quantum.verbose
我不知道上述大多数属性是什么,何时设置,它们可能具有什么值,如何使用它们或它们做什么。
JavaFX 项目负责人 (Richard Bair)指出:
请注意,如果我们没有记录命令行开关,它们是在后续版本中删除/修改的公平游戏:-)
有一个问题跟踪器请求获得一些正式记录和支持的属性:
该请求目前计划在 Java 9 中实现。访问问题跟踪器需要登录,但任何人都可以注册并评论问题或投票。
我遇到了同样的问题。问题是,如果您的主类扩展了应用程序,则会有一个启动器类在您的主方法之前启动并在您设置它们之前读取棱镜属性。
如果你使用一个不扩展 Application 的类作为主类,并从这个类中设置系统属性,然后调用类扩展 Application 的 main 方法,属性会通过