我有一个主要为 Mac 构建的 java 应用程序。我需要能够做以下三件事之一:
让我的应用程序始终遵循当前空间。这意味着,如果我在桌面 2 上并启动我的应用程序,然后我切换到桌面 3,我的应用程序将自动在桌面 3 上可见。这相当于右键单击 Dock 中的应用程序图标,选择选项,然后选择所有桌面。如果我能以某种方式使其成为我的应用程序的默认行为,而无需用户操作,那就太好了!
捕获特定空间的屏幕。我目前使用 Robot 类进行屏幕截图。如果有一种方法可以指定要捕获的空间,而不仅仅是当前空间,那就太好了!
至少能够检测到是否离开当前空间。
我开始倾向于这两种都不可能。但是,如果您可以提供任何帮助或可能的解决方法,那就太棒了!
我也玩过 GraphicsEnvironment、GraphicsDevice、GraphicsConfiguration,但没有运气。它不会返回有关 Mac 的虚拟桌面(空间)的任何信息。
让事情变得困难的是我试图不惜一切代价避免使用特定于平台的代码!我知道我可以使用 JNI 来完成这个,或者 java-apple 扩展中可能有一些东西。但目前,我使用单个代码分支并为 Mac 和 Windows 构建。我试图避免两个平台都有两个单独的构建和二进制文件。