在Java中获取操作系统动画偏好设置

4
我有一个Java应用程序,其窗口和内部组件具有动画效果,可能会减慢性能较差的计算机。我知道所有操作系统都有某种形式的动画偏好设置(在Windows中,有“在窗口内部控件和元素上播放动画”的复选框,在Linux中,有完整、基本或无动画的选择,在OSX中,您可以输入“defaults write com.apple.dock workspaces-edge-delay -float 0.0; killall Dock”或“defaults write NSGlobalDomain NSAutomaticWindowAnimationsEnabled -bool NO”到终端中)。是否有任何方法可以找出用户是否启用或禁用了动画,以便我可以符合他们的偏好?
1个回答

4
我认为,由于Java不依赖于操作系统,因此没有特定的API(本地或第三方)来执行此操作(尽管可能存在)。您可以使用JNI和/或执行外部命令的组合,然后解释它们的输出以确定动画是否已启用。为此,您必须查询os.name系统属性并运行该OS的特定命令。我认为这会带来很大的麻烦,您可能只想为用户提供禁用动画的选项。
个人而言,我更喜欢提供选项,因为我可能会关闭操作系统中的动画,因为它们很烦人,但仍然可能喜欢您应用程序中的动画。

我同意,这是我已经开始实施的事情。 - Ky -

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接