Абстрактний віконний інтерфейс(AWT — Abstract Window Toolkit) — це оригінальний пакет класів мови програмування Java, що слугує для створення графічного інтерфейсу користувача (GUI). AWT є частиною Java Foundation Classes (JFC) — стандартного API для реалізації графічного інтерфейсу для Java-програми. Пакет містить платформо-незалежні елементи графічного інтерфейсу, щоправда їхній вигляд залежить від конкретної системи.

Створена віконна-форма з деякими елементами AWT

Історія ред.

AWT визначає базовий набір елементів керування, вікон та діалогів, які підтримують придатний, простий до використання, але обмежений у можливостях графічний інтерфейс. Однією з причин обмеженості AWT є те, що AWT перетворює свої візуальні компоненти у відповідні їм еквіваленти, платформи на якій встановлена віртуальна машина Java. Це означає, що зовнішній вигляд компонентів визначається платформою, а не закладається в Java. Оскільки компоненти AWT використовують «рідні» ресурси коду, вони називаються ваговитими (англ. highweigh).

Використання «рідних» рівноправних компонентів породжує деякі проблеми. По-перше, у зв'язку із різницею, що існує між операційними системами, компонент може виглядати або навіть вести себе по-різному на різноманітних платформах. Така мінливість суперечила філософії Java: «написане один раз, працює скрізь». По-друге, зовнішній вигляд кожного компонента був фіксованим (оскільки усе залежало від платформи), і це неможливо було змінити (принаймні, це важко було зробити). У зв'язку з цим в AWT на різних платформах виникали різні помилки і програмісту доводились перевіряти працездатність програм на кожній платформі окремо[1].

Незабаром після появи початкової версії Java, стало очевидним, що обмеження, властиві AWT, були настільки незручними, що потрібно було знайти кращий підхід. У результаті з'явились класи Swing як частина бібліотеки базових класів Java (JFC). В 1997 році вони були включені до Java 1.1 у вигляді окремої бібліотеки. А починаючи з версії Java 1.2, класи Swing (а також усі останні, що входили до JFC) стали повністю інтегрованимими у Java. Щоправда графічні класи AWT до сих пір використовується при написанні невеликих програм та аплетів. Крім того Swing хоч і надає більше можливостей з роботою з графікою, проте не заміняє їх повністю. Так, наприклад, обробка подій залишилась та ж сама[1].

Примітки ред.

  1. а б Библиотека профессионала, том 1. — С. 306

Джерела ред.

  • Хорстманн, Кей С., Корнелл, Гари. Java2. Библиотека профессионала, том1. Основы, 7-е изд.: Пер. с англ. — М.:Издательский дом «Вильямс», 2007. −896 с.

Див. також ред.