私は主にMac向けに構築されたJavaアプリケーションを持っています。私は次の3つのうちのいずれかを行うことができる必要があります。JavaでMacスペースを検出できますか?
私のアプリケーションは常に現在のスペースに従ってください。つまり、デスクトップ2でアプリを起動すると、デスクトップ3に切り替えると、自動的にデスクトップ3にアプリが表示されます。これは、ドック内のアプリアイコンを右クリックし、オプションを選択してから、すべてのデスクトップを選択するのと同じです。どういうわけか私のアプリのデフォルトの動作をユーザーの操作を必要とせずに行うことができれば、それは素晴らしいことです!
特定のスペースの画面をキャプチャします。私は現在、Robotクラスを使用してスクリーンキャプチャを行います。現在のスペースだけでなく、どのスペースをキャプチャするかを指定できる方法があれば、それは素晴らしいことです!
現在のスペースを残しても少なくとも検出できること。
私はこれらのどちらにも近づくことができません。しかし、もしあなたが何か助けを与えることができる、または可能な回避策は、それは素晴らしいだろう!
私はGraphicsEnvironment、GraphicsDevice、GraphicsConfigurationで遊んでいますが、運はありません。 Macの仮想デスクトップ(Spaces)に関する情報は返されません。
また、何かを難しくしているのは、プラットフォーム固有のコードの使用を避けようとしていることです。私はこれを達成するためにJNIを使うことができますか、またはjava-apple拡張機能に何かがあるかもしれません。しかし、現在、私は単一のコードブランチを使用し、Mac & Windowsの両方のためにビルドします。私は両方のプラットフォーム用に2つの別々のビルドとバイナリを持つことを避けようとしています。
別々のビルドを行う必要はありません。プラットフォームの検出と条件付きロジック(およびネイティブコード)が必要です。あなたは、結局のところ、非常にプラットフォーム特有の何かをしようとしています。編集:実際には、Drizzt321は既にグレイの答えに応じてこれを言った。 –