Кіріспе

Графикалық құрылым

Java Foundation Classes (JFC) – портативті Java негізіндегі графикалық пайдаланушы интерфейстерін (GUIs) құруға арналған графикалық құрылым. JFC құрамына Abstract Window Toolkit (AWT), Swing және Java 2D кіреді. Олар бірігіп, Java бағдарламалары үшін бірқалыпты пайдаланушы интерфейсін қамтамасыз етеді, негізгі пайдаланушы интерфейсі жүйесі Windows, macOS немесе Linux болғандықтан қарамайды.

Тарих

AWT, JFC-ден бұрын пайда болған. AWT хост-платформаның графикалық мүмкіндіктерін жай ғана орап тұрғандықтан көп сынға ұшырады. Бұл AWT-дегі стандартты виджеттердің хост-платформаның жергілікті виджеттерінің мүмкіндіктеріне сүйенетінін білдірді, соның салдарынан әзірлеуші хост-платформалар арасындағы айырмашылықтарды білуге тиіс болды. Netscape платформаға тәуелсіз кодта Internet Foundation Classes (IFC) деп аталатын баламалы графикалық кітапхананы әзірледі. Сонымен қатар, Microsoft Application Foundation Classes (AFC) деп аталатын тағы бір графикалық кітапхананы тәуелсіз түрде әзірледі. Ол графикалық компоненттерді кеңейтуді жеңілдету үшін жасалды, бірақ негізінен Microsoft Java Virtual Machine-мен қолдануға бағытталған. 1997 жылдың 2 сәуірінде Sun Microsystems және Netscape IFC-ді басқа технологиялармен біріктіріп, «Java Foundation Classes» (JFC) құруға ниетті екендерін жариялады. Кейіннен «Java Foundation Classes» «Swing» деп аталып, виджеттердің плагиндік көрінісі мен сезімін қосу мүмкіндігіне ие болды. Бұл Swing бағдарламаларына платформаға тәуелсіз код базасын сақтап, жергілікті қолданбаның сыртқы түрін имитациялауға мүмкіндік берді. JFC-нің шығуы IFC-ді қолданудан шығарды және Microsoft-тың AFC-ге деген қызығушылығын төмендетті. Java бағдарламалау тілін пайдаланып, Java Foundation Classes (JFC) – бағдарламашыға графикалық пайдаланушы интерфейсін (GUI) құру үшін қажетті, алдын ала жазылған кодтардан (сынып кітапханалары) тұратын толық жиынтық. Java Foundation Classes, Microsoft Foundation Class Library (MFC) сияқты. JFC – бастапқы Java Abstract Windowing Toolkit (AWT) кеңейтімі. JFC және Swing қолданып, бағдарламашы белгілі бір операциялық жүйедегі терезелік жүйеге тәуелді емес бағдарламаларды жаза алады.