Что вы на это скажете, мой дорогой психолог?
Из к/ф «Приключения Шерлока Холмса
и доктора Ватсона»
В Java для создания графического интерфейса обычно используются библиотеки AWT и Swing. Исторически первой и базовой была библиотека AWT (Abstract Window Toolkit). Библиотека Swing появилась несколько позже, хотя она во многом базируется на библиотеке AWT. В этих библиотеках по-разному решает- ся проблема универсальности программного кода, краеугольная для концепции, положенной в основу Java.
В библиотеке AWT универсальность программного кода обеспечивается за счет использования разных инструментальных средств с целью реализации программного кода для разных операционных систем. Удобство такого под- хода состоит в том, что на разных системах программы работают одинаково и имеют единый программный интерфейс. Однако такой подход имеет и не- достаток: он применим только при написании относительно небольших про- грамм. Кроме того, при тестировании программного кода нередко оказывается, что один и тот же код генерирует разные ошибки для разных операционных систем.
Решить эти фундаментальные проблемы призвана библиотека Swing. В основу ее положена разработка компании Netscape, которая в 1996 году выпустила би- блиотеку IFC (Internet Foundation Classes). В этой библиотеке реализована сле- дующая идея: элементы интерфейса (кнопки, меню, поля и т. д.) отображаются в пустом окне, а особенности конкретной платформы принимаются во внимание только при выборе способа отображения этого окна. Впоследствии на основе библиотеки IFC компании Sun Microsystems и Netscape создали библиотеку Swing, в которой реализован тот же принцип, что и в IFC. При этом библиотека Swing не заменяет библиотеку AWT, а дополняет ее. Механизм обработки со- бытий в библиотеке Swing тот же, что и в AWT.