poner - requestfocus java
Cómo saber qué objeto tiene actualmente foco (7)
Tengo algunos TextField
s en mi Frame
. Quiero saber qué TextField
tiene foco actualmente. ¿Cómo puedo encontrar esta información?
Cada JComponent tiene un método hasFocus que puede usar para verificar si tiene foco. Sin embargo, esto ha cambiado, y ahora debe usar isFocusOwner.
Por lo tanto, ejecute todos los campos de texto en su marco, y verifique cada uno de ellos si se trata de FocusOwner llamando a ese método.
También puede obtener el propietario del foco a través del marco.
También eche un vistazo al javax.swing.FocusManager
This tutorial debe ser bastante útil para comprender el enfoque.
JFrame.getFocusOwner()
(heredado de Window.getFocusOwner()
) debe devolver una referencia al componente con foco. getMostRecentFocusOwner()
también podría ser de interés.
KeyboardFocusManager.getCurrentKeyboardFocusManager().getFocusOwner()
;
no funcionará a través de los hilos. Entonces, si su aplicación invoca un nuevo hilo y ese hilo tiene su propio marco / ventana, etc., entonces no podrá obtener el propietario del foco de ese hilo. En su lugar use: KeyboardFocusManager.getCurrentKeyboardFocusManager().getGlobalFocusOwner();
getFocusOwner () devolverá el componente secundario que está actualmente enfocado.
Pero debes verificar si es un JTextField. Otros componentes, como los botones, pueden centrarse si también existen en tu marco.
KeyboardFocusManager.getCurrentKeyboardFocusManager().getFocusOwner()