stringtranslate.com

Фокус (вычисления)

В графическом пользовательском интерфейсе (GUI) для вычислений компонент имеет фокус , когда он выбран для получения ввода от пользователя с помощью события, такого как щелчок кнопки мыши или нажатие клавиши. [1] Перемещение фокуса от определенного элемента пользовательского интерфейса известно как событие размытия по отношению к этому элементу. [2] Обычно фокус снимается с элемента, передавая фокус другому элементу. Это означает, что события фокуса и размытия фактически одновременны по отношению к различным элементам пользовательского интерфейса, один из которых становится сфокусированным, а другой «размытым» (в вычислительном, а не визуальном смысле).

Концепция похожа на курсор в текстовой среде. Однако при рассмотрении графического интерфейса также задействован указатель мыши . Перемещение мыши обычно перемещает указатель мыши без изменения фокуса. Фокус обычно можно изменить, щелкнув по компоненту, который может получить фокус с помощью мыши. Многие рабочие столы также позволяют изменять фокус с помощью клавиатуры. По соглашению Tab ↹клавиша используется для перемещения фокуса на следующий фокусируемый компонент, а + — на предыдущий. Когда впервые появились графические интерфейсы, на многих компьютерах не было мышей, поэтому эта альтернатива была необходима. Эта функция упрощает использование пользовательского интерфейса для людей, не имеющих возможности использовать мышь . В определенных обстоятельствах клавиши со стрелками можно использовать для изменения фокуса.⇧ ShiftTab ↹

Фокус окна

Поведение фокуса на рабочем столе можно регулировать с помощью политик управления окнами .

Нажмите, чтобы сфокусироваться

В большинстве основных пользовательских интерфейсов, таких как созданные Microsoft и Apple , часто встречается политика «фокус следует за щелчком» (или «щелчок для фокусировки»), когда нужно щелкнуть мышью внутри окна, чтобы это окно получило фокус. Это также обычно приводит к тому, что окно оказывается выше всех других окон на экране. Если используется модель щелчка фокусировки, подобная этой, текущее окно приложения продолжает сохранять фокус и собирать ввод, даже если указатель мыши находится над другим окном приложения.

Фокус следует за указателем

Другая распространенная политика в системах Unix , использующих X Window System (X11), — это политика «фокус следует за мышью» (или FFM), при которой фокус автоматически следует за текущим положением указателя. Фокусированное окно не обязательно поднимается; его части могут оставаться под другими окнами. Оконные менеджеры с этой политикой обычно предлагают «автоподъем», который поднимает окно, когда оно сфокусировано, как правило, после настраиваемой короткой задержки. Возможным следствием политики следования фокусу является то, что ни одно окно не имеет фокуса, когда указатель перемещается по фону без окна под ним; в противном случае фокус просто остается в последнем окне.

Небрежный фокус

Модель sloppyfocus является вариантом модели followfocus. [3] Она позволяет продолжать сбор входных данных последним сфокусированным окном, когда указатель мыши перемещается в сторону от любого окна, например, над строкой меню или областью рабочего стола.

Модели фокусировки, используемые оконными менеджерами X11

Фокусировка на внутриоконных компонентах

Отдельные компоненты окна также могут иметь фокусное положение. Например, в пакете редактирования текста окно редактирования текста должно иметь фокус, чтобы можно было вводить текст. Когда текст вводится в компонент, он появляется в позиции текстового курсора, который также обычно можно перемещать с помощью указателя мыши.

Какой компонент должен иметь фокус по умолчанию и как фокус должен перемещаться между компонентами — это сложные, но важные проблемы в дизайне пользовательского интерфейса. Если фокусировать не на ту вещь, пользователю придется тратить время на перемещение фокуса. И наоборот, если фокусировать на правильную вещь, это может значительно улучшить пользовательский опыт.

Смотрите также

Ссылки

  1. ^ "Управление фокусом компонента пользовательского интерфейса - Концепция фокуса". Enlightenment . Получено 4 июня 2023 г. .
  2. ^ Гарг, Наман (12 октября 2018 г.). «Javascript Window Blur() and Window Focus() Method». GeeksforGeeks . Получено 4 июня 2023 г. .
  3. ^ "Небрежный фокус". c2.com/cgi/wiki . 25 февраля 2012 г.
  4. ^ "aewm - Red Bean". 27 декабря 2007 г. Архивировано из оригинала 14 января 2016 г. Получено 16 января 2016 г.
  5. ^ "Руководство по X11/Window Managers/aewm++". Wikibooks . 18 июля 2010 г. Получено 16 января 2016 г.
  6. ^ "AHWM - Оконный менеджер Алекса Хиореану". hioreanu.net . 24 февраля 2014 г. Получено 16 января 2016 г.
  7. ^ "dwm - динамический оконный менеджер". suckless.org . 9 ноября 2015 г. Получено 16 января 2016 г.
  8. ^ "evilwm - минималистичный оконный менеджер для X Window System". The Dragon 32/64 Computers . 13 июля 2015 г. Получено 16 января 2016 г.
  9. ^ "icewm(1)". 13 февраля 2021 г. Получено 16 февраля 2021 г.
  10. ^ "Karmen: Оконный менеджер для X". 28 декабря 2008 г. Получено 16 января 2016 г.
  11. ^ "lwm - Lightweight Window Manager". 26 февраля 2015 г. Получено 16 января 2016 г.
  12. ^ "incise.org: tinywm". 23 апреля 2014 г. Получено 16 января 2016 г.
  13. ^ "Whim basic information". Tcler's Wiki . 24 ноября 2009 г. Получено 16 января 2016 г.

Примечания

α Для каждого окна или класса окон, с дополнительной поддержкой «никогда не фокусироваться» — окна, которые никогда не должны получать фокус.