Estoy implementando un teclado en pantalla en Java para SWT y AWT. Una cosa importante es mover el teclado a una posición donde el campo de texto seleccionado puede mostrarse y no se encuentra detrás del teclado en pantalla.Buscar ubicación compuesta en la pantalla
Para AWT i puede detectar la posición del componente seleccionado actual con
Component owner = KeyboardFocusManager.getCurrentKeyboardFocusManager().getFocusOwner();
if (owner == null) {
return;
}
Point ownerLocation = owner.getLocationOnScreen();
Dimension ownerSize = owner.getSize();
¿Cómo puedo aplicar la misma lógica en SWT? Obtengo el widget seleccionado actual al agregar un oyente de enfoque a la cola de eventos de SWT. Pero cuando llamo a
Point location = new Point(mTextWidget.getLocation().x, mTextWidget.getLocation().y);
Dimension dimension = new Dimension(mTextWidget.getSize().x, mTextWidget.getSize().y);
Obtendré la posición relativ al compuesto primario.
¿Cómo puedo obtener la ubicación de un widget especial relacionado con la pantalla completa?
perfecto, esto es lo que estoy buscando. gracias –
¡Gracias, amigo! Tu respuesta puso fin a una mañana de dolor. –
@Mario: De nada. Me alegro de poder ayudar. – VonC