在 Java 中获取操作系统动画首选项

发布于 2024-12-09 05:18:30 字数 401 浏览 0 评论 0原文

我有一个 Java 应用程序,其窗口和内部组件具有动画,可能会降低功能较弱的计算机的速度。我知道所有操作系统都有某种形式的动画首选项(在 Windows 中,有“在窗口内对控件和元素进行动画处理”的复选框,在 Linux 中,可以选择“完整”、“基本”或“无动画”,在 OSX 中,您可以执行以下操作)输入“defaults write com.apple.dockworkspaces-edge-delay -float 0.0; Killall Dock”或“defaults write NSGlobalDomain NSAutomaticWindowAnimationsEnabled”之类的内容-bool NO”进入终端)。 有什么方法可以查明用户是否启用或禁用了动画,以便我可以符合呃偏好?

I have a Java app whose windows and internal components have animations that could slow down a less powerful computer. I know that all OSs have some form of animation preferences (In Windows, there are check boxes for "Animate controls and elements inside windows", in Linux, there are selections for Full, Basic, or No animations, and in OSX you can do things like enter "defaults write com.apple.dock workspaces-edge-delay -float 0.0; killall Dock" or "defaults write NSGlobalDomain NSAutomaticWindowAnimationsEnabled -bool NO" into the terminal). Is there any way to find out whether the user has animations enabled or disabled, so that I can conform to er preferences?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

格子衫的從容 2024-12-16 05:18:30

我认为,由于 Java 与操作系统无关,因此没有特定的 API(本机或第三方)来执行此操作(尽管可能有)。您可以结合使用 JNI 和/或执行外部命令,然后解释它们的输出以确定是否启用动画。为此,您必须查询 os.name 系统属性并运行该操作系统的特定命令。我认为这会很痛苦,您可能只想为用户提供禁用动画的选项。

就我个人而言,我更喜欢这个选项,因为我可能会关闭操作系统动画,因为它们很烦人,但仍然可能会喜欢应用程序中的动画。

I would think, that since Java is Operating System agnostic, that there is no specific API, native or third-party, to do this (although there could be). You could use a combination of JNI and/or executing external commands and then interpret their outputs to determine if animations are enabled. To do this you would have to query the os.name system property and run the specific commands for that OS. I think this would be a fair bit of pain and you may just want to give the users an option to disable the animations.

Personally, I would prefer the option because I might turn of the OS animations because they are annoying but still may enjoy the animations in your application.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文