Tôi có một ứng dụng java được xây dựng chủ yếu cho Mac. Tôi cần có thể thực hiện một trong ba điều sau:Bạn có thể phát hiện Mac Spaces trong Java không?
Ứng dụng của tôi luôn tuân thủ theo không gian hiện tại. Có nghĩa là, nếu tôi đang ở trên Desktop 2 và khởi động ứng dụng của mình, thì tôi chuyển sang Desktop 3, sau đó ứng dụng của tôi sẽ hiển thị trên Desktop 3 một cách tự động. Điều này tương đương với việc nhấp chuột phải vào biểu tượng ứng dụng trong thanh công cụ, chọn Tùy chọn, sau đó chọn Tất cả máy tính để bàn. Nếu tôi bằng cách nào đó có thể làm cho điều này là hành vi mặc định cho ứng dụng của tôi, mà không yêu cầu hành động của người dùng, thì điều đó sẽ tuyệt vời!
Chụp màn hình của một không gian cụ thể. Tôi hiện đang sử dụng lớp Robot để chụp ảnh màn hình. Nếu có một cách tôi có thể chỉ định không gian để chụp, không chỉ là không gian hiện tại, thì điều đó sẽ rất tuyệt vời!
Ít nhất có thể phát hiện nếu rời khỏi không gian hiện tại.
Tôi bắt đầu nghiêng về phía không phải một trong số này là có thể. Nhưng nếu bạn có thể đưa ra bất kỳ trợ giúp nào, hoặc cách giải quyết có thể xảy ra, điều đó thật tuyệt vời!
Tôi cũng đã chơi xung quanh với GraphicsEnvironment, GraphicsDevice, GraphicsConfiguration, nhưng không có may mắn. Nó không trả về bất kỳ thông tin nào về máy tính để bàn ảo của Mac (Spaces).
Điều gì cũng khiến mọi thứ trở nên khó khăn là tôi đang cố gắng tránh sử dụng mã nền tảng cụ thể bằng mọi giá! Tôi biết tôi có thể sử dụng JNI để thực hiện điều này, hoặc có thể có một cái gì đó trong phần mở rộng java-apple. Nhưng hiện tại, tôi sử dụng một chi nhánh mã duy nhất và xây dựng cho cả Mac & Windows. Tôi đang cố gắng tránh có hai bản dựng riêng biệt và nhị phân cho cả hai nền tảng.
Bạn không cần tạo các bản dựng riêng - bạn chỉ cần một số phát hiện nền tảng và logic điều kiện (cộng với mã gốc của bạn). Bạn, sau khi tất cả, tìm cách để làm một cái gì đó * là * rất nền tảng cụ thể. EDIT: trên thực tế, Drizzt321 đã nói điều này để đáp ứng với câu trả lời của Gray. –