Студопедия
Новини освіти і науки:
МАРК РЕГНЕРУС ДОСЛІДЖЕННЯ: Наскільки відрізняються діти, які виросли в одностатевих союзах


РЕЗОЛЮЦІЯ: Громадського обговорення навчальної програми статевого виховання


ЧОМУ ФОНД ОЛЕНИ ПІНЧУК І МОЗ УКРАЇНИ ПРОПАГУЮТЬ "СЕКСУАЛЬНІ УРОКИ"


ЕКЗИСТЕНЦІЙНО-ПСИХОЛОГІЧНІ ОСНОВИ ПОРУШЕННЯ СТАТЕВОЇ ІДЕНТИЧНОСТІ ПІДЛІТКІВ


Батьківський, громадянський рух в Україні закликає МОН зупинити тотальну сексуалізацію дітей і підлітків


Відкрите звернення Міністру освіти й науки України - Гриневич Лілії Михайлівні


Представництво українського жіноцтва в ООН: низький рівень культури спілкування в соціальних мережах


Гендерна антидискримінаційна експертиза може зробити нас моральними рабами


ЛІВИЙ МАРКСИЗМ У НОВИХ ПІДРУЧНИКАХ ДЛЯ ШКОЛЯРІВ


ВІДКРИТА ЗАЯВА на підтримку позиції Ганни Турчинової та права кожної людини на свободу думки, світогляду та вираження поглядів



Події і їх реалізація в JFC

Лекція 19. Модель подій у Java

Мета .Розглянути поширені методи створення та використання інтерфейсів. Навчити синтаксису створення інтерфейсів

План

  1. Події і їх реалізація в JFC (Java Foundation Classes). Подієва модель в JFC.
  2. Слухачі подій. Події і потоки.
  3. Клас JList бібліотеки Swing.

Поняття "подія" використовується в багатьох сучасних системах розробки програмного забезпечення. Реалізація подієвої моделі різна в різних системах, але принципи багато в чому схожі.

Подія (event) - це те, що може статися. Наприклад, натиснення клавіші, пересування курсора миші і навіть зміни властивості якогось об'єкту. У програмі увесь час щось відбувається і це теж події з абстрактної точки зору. Але подія як програмний термін використовується тоді, коли ми говоримо про події, які можуть статися в довільний момент часу і ми можемо реалізувати реакцію на цю подію у вигляді деякого програмного коду, який має бути виконаний, коли ця подія сталася.

Для більшості подій характерна "об’єктність" . Так, якщо ми ловимо подію натиснення на клавішу, то для нас важливо не лише само ця подія, але і деякий об'єкт, наприклад, поле введення, в якому знаходився курсор у момент натиснення клавіші. Більше того, для різних полів хотілося б мати можливість написати різні фрагменти коду по перехопленню цієї події.

Також для події характерна наявність яких-небудь параметрів цієї події. Наприклад, нас не просто цікавить сам факт натиснення на клавішу, а ще і те, яка саме клавіша була натиснута. У іншому випадку нас може цікавити інша інформація, наприклад, при кліці мишкою - позиція курсора миші.

У об'єктно-орієнтованих мовах для об'єднання параметрів події зазвичай застосовують деякий об'єкт, що асоціюється з цією подією, який зберігає необхідну інформацію по цій події. Зазвичай такий об'єкт називають об'єктом-подією (Event Object) або просто подією (Event).

І останнє, що треба сказати про термін подія, як про абстрактне поняття, це те, що події бувають низькорівневими і високорівневими. Це в деякій мірі умовне ділення, але про нього треба знати. Наведемо приклад.

Натиснення на клавішу Tab можна ловити як подія натиснення на клавішу. Але, з іншого боку, натиснення на Tab призводить до переходу фокусу на іншу візуальну компоненту і це теж можна ловити як подія (але вже абсолютно інше). З цього прикладу видно, що одна дія може призводити до породження цілого ряду подій. Відповідно у нас є вибір, які з цих подій ми збираємося обробляти.

При написанні системних бібліотек ми напевно захочемо обробляти низькорівневі події, типу натиснення на клавішу, і самі породжуватимемо інші події, більш високорівневі. При написанні прикладних програм, навпаки, краще мати справу з абстрактнішими подіями, наприклад - натиснення на кнопку.

Розберемо останній приклад детальніше. Формально, кнопка - це область екрану, на якій намальовано щось, що схоже на кнопку. Натиснення на кнопку - це клік мишкою в мить, коли її курсор знаходиться над цією областю, або натиснення клавіші Enter або "пропуск", коли фокус знаходиться на цій кнопці, а в деяких випадках, навіть натиснення деякої "гарячої клавіші", що асоціюється з цією кнопкою. Система програмування цієї мови ловить усі ці низькорівневі події і генерує для нас більш високорівневу подію - натиснення на кнопку. Якщо вона (система програмування) це робить, то ми в програмі можемо реалізувати обробку натиснення на кнопку і не замислюватися над цими усіма деталями.


Читайте також:

  1. V. НАЙБІЛЬШ ВАЖЛИВІ ПОДІЇ І ДАТИ
  2. Альтернативна реалізація із вільним вихідним кодом – сервер SAMBA
  3. Безумовною є інформація про події, що реально відбуваються у матеріальному світі.
  4. Важливою складовою економічної політики 60-х рр. була реалізація програми “нових рубежів” президента Дж. Кенеді.
  5. Виконання програми - реалізація мови програмування
  6. Вироблення та реалізація раціональних управлінських рішень.
  7. Виявлення, фіксація, вилучення речових доказів із місця події.
  8. Відповідно до ст. 69 ЦПК перебіг процесуального строку починається з наступного дня після відповідної календарної дати або настання події, з якою пов'язано його початок.
  9. Воєнно-політичні події 1649 – 1653 рр. Утворення Української гетьманської держави.
  10. Вплив лютневої революції в Росії на події в Україні.
  11. Встановлення факту віднесення аварійної події до рангу НС, ви­значення виду та рівня НС проводиться у такій послідовності.
  12. Гетьманування Ю. Хмельницького. Події України.




Переглядів: 442

<== попередня сторінка | наступна сторінка ==>
Облік розрахунків виконання кошторису за загальним фондом. | Слухачі подій

Не знайшли потрібну інформацію? Скористайтесь пошуком google:

  

© studopedia.com.ua При використанні або копіюванні матеріалів пряме посилання на сайт обов'язкове.


Генерація сторінки за: 0.003 сек.