Estoy escribiendo una aplicación Java (Swing GUI) que periódicamente muestra un JFrame.¿Es posible llevar JFrame al frente pero NO enfocar?
¿Es posible de alguna manera llevar la ventana al frente (foo.setAlwaysOnTop (verdadero) sería aún mejor) pero sin teniendo el foco?
Algunas personas alejan sus ojos de la pantalla de vez en cuando para mirar el teclado mientras escriben, y estoy seguro de que si esta ventana capturara siempre el foco del teclado la gente se molestaría mucho ya que les está causando pierde bastantes teclas cada vez que aparece desapercibido.
En otros casos, incluso cuando el usuario es realmente capaz de escribir sin mirar el teclado todo el tiempo, que tiene una ventana pop-up y obtener enfoque podría causar acciones no deseadas de la ventana emergente en sí (algunos Tab
+ Enter
combinación, por ejemplo, donde el usuario selecciona accidentalmente una opción que realmente no habría seleccionado de otra manera).
¡Gracias de antemano!
actualización
Como sugiere Jonas, foo.setFocusableWindowState(false);
parece funcionar si se llama cuando la ventana se ha rendido (probado en Gnome solamente).
Esto no funciona:
foo.setFocusableWindowState(false);
foo.setVisible(true);
foo.setFocusableWindowState(true);
Sin embargo, este hace:
foo.setFocusableWindowState(false);
foo.setVisible(true);
Thread.sleep(1000);
foo.setFocusableWindowState(true);
voy a tener que ver si hay un evento que puedo coger/escuchar que me permite do foo.setFocusableWindowStatue(true);
cuando sea apropiado.
Considero mi problema resuelto.
¿alguna vez encontró un evento para escuchar cuando se procesó el fotograma? – lordoku
¿Alguien alguna vez encontró un evento para escuchar aquí que funcionó? – wrslatz