2010-10-14 39 views
5

Tôi biết về WindowListener và ilk của nó, nhưng những điều này dường như chỉ cung cấp sự kiện cho các cửa sổ mà bạn có tham chiếu đã có và có thể thêm người nghe vào. Tôi tự hỏi làm thế nào để hoặc nhận được một cuộc gọi lại khi các cửa sổ mới được tạo ra bởi các quá trình khác, hoặc thăm dò ý kiến ​​cho một danh sách tất cả các cửa sổ hiện đang mở trên hệ thống.Làm thế nào tôi có thể phát hiện khi nào các cửa sổ mới được mở và/hoặc có danh sách các cửa sổ đang mở?

Tôi đang sử dụng J2SE trên Mac OS X, nhưng câu trả lời đa nền tảng là lý tưởng.

Trả lời

3

Như đã nói ở trên, bạn chỉ có thể theo dõi các cửa sổ được tạo bởi ứng dụng Java. Bắt loại thông tin đó sẽ yêu cầu phát triển hệ điều hành cụ thể (JNI).

1
Window.getWindows(); 
Window.getOwnedWindows(); 
Window.getOwnerlessWindows(); 

Nhưng đây chỉ là Windows do ứng dụng Java của bạn mở.

0

Tôi nghĩ rằng điều đó là không thể do ý tưởng sandbox phía sau JRE. Bạn chỉ có thể "xem" Windows từ quy trình của riêng bạn. Nhưng tôi không biết chắc chắn.

Các vấn đề liên quan