Как работают панели
Панель является специальным видом окна, обычно служа вспомогательной функции в приложении. NSPanel
подкласс NSWindow
добавляют несколько специальных способов поведения к окнам в поддержку ролевой игры панелей:
Панелями по умолчанию не выпущены, когда они закрываются, потому что они обычно легки и часто снова использованы.
Экранные панели, за исключением предупредительных диалоговых окон, удалены из экрана, когда приложение не активно и восстанавливается, когда приложение снова становится активным. Это сокращает экранную помеху.
В частности,
NSWindow
реализацияhidesOnDeactivate
возвраты методаNO
, ноNSPanel
реализация тех же возвратов методаYES
.Панели могут стать ключевым окном, но они не могут стать главным окном.
Если панель является ключевым окном и имеет близкую кнопку, это закрывает себя, когда пользователь нажимает Клавишу выхода.
В дополнение к этим автоматическим способам поведения, NSPanel
класс позволяет Вам конфигурировать определенные другие способы поведения, характерные для некоторых видов панелей:
Можно препятствовать тому, чтобы панель стала ключевым окном, если пользователь не щелкает в представлении, реагирующем на ввод. Это препятствует тому, чтобы ключевое окно сместилось к панели излишне.
setBecomesKeyOnlyIfNeeded:
метод управляет этим поведением.Палитры и подобные панели могут быть сделаны плавать выше стандартных окон и других панелей. Это препятствует тому, чтобы они были покрыты, и сохраняет их легко доступными пользователю.
setFloatingPanel:
метод управляет этим поведением.Панель может быть сделана получить события от нажатия мыши и события клавиатуры, даже когда другое окно или панель выполняются модально или в модальном сеансе. Это разрешает действиям в панели влиять на модальное окно или панель.
setWorksWhenModal:
метод управляет этим поведением. Посмотрите Как Модальный Windows Work для получения дополнительной информации о модальных окнах и панелях.