Можете ли вы обнаружить Mac Spaces в Java?

У меня есть java-приложение, которое в основном было создано для Mac. Мне нужно иметь возможность сделать одну из трех вещей:

  1. Чтобы мое приложение всегда следовало за текущим пространством. Это означает, что если я нахожусь на рабочем столе 2 и запускаю свое приложение, а затем переключаюсь на рабочий стол 3, мое приложение будет автоматически отображаться на рабочем столе 3. Это эквивалентно щелчку правой кнопкой мыши -по значку приложения в доке, выберите «Параметры», затем выберите «Все рабочие столы». Если бы я мог каким-то образом сделать это поведением по умолчанию для своего приложения, не требуя действий пользователя, то это было бы здорово!

  2. Захват экрана определенного пространства. В настоящее время я использую класс Robot для захвата экрана. Если бы я мог указать, какое пространство захватить, а не только текущее пространство, то это было бы здорово!

  3. Быть в состоянии, по крайней мере, обнаруживать выход из текущего пространства.

Я начинаю склоняться к тому, что ни то, ни другое невозможно. Но если вы можете дать какую-либо помощь или возможные обходные пути, это было бы здорово!

Я также экспериментировал с GraphicsEnvironment, GraphicsDevice, GraphicsConfiguration, но безуспешно. Он не возвращает никакой информации о виртуальных рабочих столах Mac (Spaces ).

Что еще усложняет, так это то, что я стараюсь любой ценой избегать использования кода, специфичного для платформы! Я знаю, что могу использовать JNI для достижения этой цели,или может быть что-то в яблочном расширении java -. Но в настоящее время я использую одну ветвь кода и строю как для Mac, так и для Windows. Я стараюсь избегать двух отдельных сборок и двоичных файлов для обеих платформ.

7
задан Gray 8 May 2012 в 23:50
поделиться