Tôi đang viết một ứng dụng Java (Swing GUI) định kỳ bật lên một JFrame.Có thể mang JFrame về phía trước nhưng KHÔNG tập trung?
Có thể nào đó để đưa cửa sổ lên phía trước (foo.setAlwaysOnTop (true) thậm chí còn tốt hơn) nhưng mà không có có tập trung không?
Một số người thỉnh thoảng rời mắt khỏi màn hình để xem bàn phím của họ và tôi chắc chắn rằng nếu cửa sổ này luôn thu hút người dùng bàn phím thì sẽ rất khó chịu vì nó khiến họ mất một vài lần nhấn phím mỗi lần bật lên không được chú ý.
Trong các trường hợp khác, ngay cả khi người dùng thực sự có khả năng nhập mà không cần nhìn vào bàn phím mọi lúc, cửa sổ bật lên và lấy nét có thể gây ra các hành động không mong muốn từ cửa sổ bật lên (một số Tab
+ Enter
kết hợp ví dụ, nơi người dùng vô tình chọn một tùy chọn mà cô ấy thực sự sẽ không chọn nếu không).
Cảm ơn trước!
Cập nhật
Như Jonas thấy, foo.setFocusableWindowState(false);
dường như có tác dụng nếu được gọi sau khi cửa sổ đã được trả lại (thử nghiệm trên Gnome chỉ).
này không hoạt động:
foo.setFocusableWindowState(false);
foo.setVisible(true);
foo.setFocusableWindowState(true);
Tuy nhiên, này không:
foo.setFocusableWindowState(false);
foo.setVisible(true);
Thread.sleep(1000);
foo.setFocusableWindowState(true);
tôi sẽ phải để xem nếu có một sự kiện tôi có thể bắt/nghe cho phép tôi làm foo.setFocusableWindowStatue(true);
khi thích hợp.
Tôi xem vấn đề của mình đã được giải quyết.
bạn đã bao giờ tìm thấy một sự kiện để lắng nghe khi khung được hiển thị? – lordoku
Có ai từng tìm một sự kiện để nghe ở đây hoạt động không? – wrslatz