Найти составное местоположение на экране

Я реализую экранную клавиатуру в Java для SWT и AWT. Одна важная вещь - переместить клавиатуру в положение, в котором выделенное текстовое поле может отображаться и не находится за экранной клавиатурой.

Для AWT я могу определить положение текущего выбранного компонента с помощью

Component owner = KeyboardFocusManager.getCurrentKeyboardFocusManager().getFocusOwner();
if (owner == null) {
    return;
}
Point ownerLocation = owner.getLocationOnScreen();
Dimension ownerSize = owner.getSize();

Как я могу реализовать ту же логику в SWT? Я получаю текущий выбранный виджет, добавляя focuslistener в очередь событий SWT. Но когда я звоню

Point location = new Point(mTextWidget.getLocation().x, mTextWidget.getLocation().y);
Dimension dimension = new Dimension(mTextWidget.getSize().x, mTextWidget.getSize().y);

Я получу положение относительно родительского композита.

Как я могу получить местоположение специального виджета относительно всего экрана?

Ответы на вопрос(1)

Ваш ответ на вопрос