Programiranje na Java jeziku stvarno se počelo povlačiti samo zbog njihove sposobnosti prenošenja programa na više platformi. To se ne odnosi samo na stolna računala, već je Java prisutna i u džepnim računalima, pa čak i u standardnim mobilnim telefonima. Zbog toga već ima puno ljudi koji žele programirati za Java jezik kako bi iskoristili prednost ovog velikog i rastućeg tržišta.
Programiranje na Javi znači da morate imati prave alate kako biste brzo i učinkovito dovršili svoj projekt. Jedan od bitnih alata je komponenta GUI (Graphic User Interface). To vam omogućuje jednostavno dodavanje grafičke komponente bez većine potrebnog programiranja. U ovoj kategoriji možete odabrati između dva. Prvo je AWT (Abstract Window Toolkit), a drugo je ljuljaška, koja se pojavila mnogo kasnije.
Oba ova skupa alata imaju svoje prednosti i nedostatke koji ih čine pogodnim za različite programske potrebe. AWT koristi mnoštvo izvornih naredbi platforme koje mu pružaju veliku količinu brzine. No, da biste ga pretvorili za upotrebu na drugim platformama, morate promijeniti naredbe kolega. Swing s druge strane koristi čisti Java kod, što ga čini vrlo prijenosnim na svim platformama uz cijenu brzine i performansi.
Još jedna značajka ljuljačke je da pokušava oponašati izgled i dojam OS-a na kojem radi, čineći ga sličnim izvornom okruženju. Pobjeđuje AWT jer koristi nativne naredbe; izgleda točno kako izgleda izvorno korisničko sučelje. Glavna prednost ljuljačke je što podržava puno više mogućnosti od onoga što radi AWT. Komponente poput savjeta za alat i ikone nisu dostupne u AWT-u, a u potpunosti su ih iskoristile u zamahu. Dodane značajke i čisti java dizajn ljuljačke iako znači da će vam trebati java dodatak da bi se program pokrenuo, dok većina preglednika danas već podržava AWT klase što eliminira potrebu za dodacima za preuzimanje.
Ukratko, ako želite stvoriti jednostavne java aplice, tada vam brzi i jednostavni načini gradnje AWT mogu biti od velike pomoći. Ali ako želite stvoriti potpuno ispunjenu aplikaciju, možete razmotriti što vam ljuljanje može ponuditi. Poboljšani popis komponenti i prenosivost mogu se pokazati korisnijima.