Введение

Графическая среда

Java Foundation Classes (JFC) – это графическая среда для создания переносимых графических пользовательских интерфейсов (GUI) на основе Java. JFC состоит из Abstract Window Toolkit (AWT), Swing и Java 2D. Вместе они обеспечивают единообразный пользовательский интерфейс для Java-программ, независимо от используемой базовой системы интерфейса – Windows, macOS или Linux.

История

AWT существовала до JFC. AWT подверглась резкой критике за то, что представляла собой лишь оболочку вокруг нативных графических возможностей хост-платформы. Это означало, что стандартные виджеты AWT зависели от этих возможностей нативных виджетов, что требовало от разработчика учитывать различия между хост-платформами. Альтернативная графическая библиотека под названием Internet Foundation Classes была разработана Netscape на более платформенно-независимом коде. Одновременно Microsoft независимо разработала другую графическую библиотеку, Application Foundation Classes (AFC). Она была создана для упрощения расширения графических компонентов, но в основном предназначалась для использования с виртуальной машиной Java от Microsoft. 2 апреля 1997 года Sun Microsystems и Netscape объявили о намерении объединить IFC с другими технологиями для создания "Java Foundation Classes". Позднее "Java Foundation Classes" были переименованы в "Swing", добавив возможность настройки внешнего вида виджетов. Это позволило программам Swing поддерживать платформенно-независимую кодовую базу, при этом имитируя внешний вид нативных приложений. Выпуск JFC сделал IFC устаревшей и снизил интерес к AFC от Microsoft. Используя язык программирования Java, Java Foundation Classes (JFC) представляют собой предварительно написанный код в виде библиотек классов (закодированных процедур), предоставляющих программисту полный набор средств для создания графического пользовательского интерфейса (GUI). Java Foundation Classes сопоставимы с библиотекой классов Microsoft Foundation (MFC). JFC является расширением оригинального Java Abstract Windowing Toolkit (AWT). Используя JFC и Swing, дополнительный набор программных компонентов позволяет программисту создавать программы, не зависящие от оконной системы конкретной операционной системы.