Большие поля в ScrolledComposite приводят к слишком большой прокрутке
-
08-07-2019 - |
Вопрос
У меня есть ScrolledComposite, который немного похож на электронную таблицу. Это работает в основном без проблем, но у меня иногда бывает большое поле, которое заполняет почти весь ряд (самая правая часть).
Когда фокус находится на этом поле и вызван setShowFocusedControl (true), swt настаивает на показе крайней правой части поля, что имеет тот же эффект, что и прокрутка вправо в большой электронной таблице - это очень раздражает пользователя, так как поле редко содержит много текста.
Таким образом, стратегия, выбранная в коде, состоит в том, чтобы постоянно включать и выключать функцию ShowShowFocusedControl, что очень подвержено ошибкам.
Может кто-нибудь предложить лучшую стратегию? Могу ли я сделать так, чтобы SWT показывал самую левую часть сфокусированного поля?
Решение
вы можете использовать setOrigin (Point) или setOrigin (int, int) в ScrolledComposite, чтобы установить источник прокручиваемого содержимого в верхнем левом углу.