Gyakorlati alapok IV.
Végre ablakozunk! (AWT, Swing, JavaFX)
Az AWT és a Swing
Ha időrendben nézzük, a Java-rendszeren belül a grafikus felhasználói felületért legelőször az AWT nevű komponensgyűjtemény volt felelős (Abstract Windowing Toolkit - Absztrakt ablak-eszközkészlet). Helye jelenleg is a java.awt elérési úton található. A rutingyűjteménynek azonban már egészen a kezdetektől fogva volt egy nagy problémája:
sokrétű grafikus funkcionalitása ellenére a konkrét, grafikus megjelenítést mégis az aktuális operációs rendszerre bízta, amely a Java-alkalmazások futtatásakor igen sokféle és sokszor igen különböző megjelenést eredményezett. Ez egyúttal koncepcionális probléma is volt, lévén nem biztosított teljes platformfüggetlenséget.
A fentiek orvoslására, valamint a programozási nyelveknél oly természetes folyamatos fejlesztés eredményeként született meg az AWT-alapokból kiinduló, de azt jelentős mértékben továbbfejlesztő Swing, amely már platformfüggetlenül, azaz önállóan rajzolja meg a komponenseket. Helye jelenleg is a javax.swing elérési úton található; a Java Standard Edition 1.2 verziótól kezdve annak natív része.
Sokmindent lehetne még írni ezen 2 meghatározó komponensgyűjteményről, ám ez programozástechnikai szempontból nem lényeges.
Csupán annyi bizonyos, hogy grafikus, eseményvezérelt alkalmazásaink megalkotásakor mindkét komponensgyűjteményt azonos intenzitással fogjuk felhasználni.
Ebből következően voltaképpen 2 standard import bejegyzést is tehetnénk minden ablakos forráskódunk elejére:
import java.awt.*;
import javax.swing.*;
Ezt az ömlesztett hivatkozást csak később, sok komponens egyidejű importálásakor fogjuk megtenni. Kezdetben, főként tanulási célból mindig ki fogjuk írni a komponens részletes elérési útját, például...
import javax.swing.JFrame;
...amely azt jelenti, hogy a Swing-csomagból csak a Frame osztály került importálásra.