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:

 

www.informatika-programozas.hu - Ezt most meg kell tanulni!

 

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.

 

www.informatika-programozas.hu - Ezt most meg kell tanulni!

 

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.