Programavimas „Java“ kalba iš tikrųjų pradėjo kilti vien dėl to, kad jie gali perduoti programas kelioms platformoms. Tai galioja ne tik staliniams kompiuteriams, bet „Java“ taip pat yra kišeniniuose kompiuteriuose ir net standartiniuose mobiliuosiuose telefonuose. Dėl šios priežasties jau yra daug žmonių, norinčių programuoti „Java“ kalbą, kad galėtų pasinaudoti šia didele ir augančia rinka.
Programavimas „Java“ reiškia, kad norint greitai ir efektyviai užbaigti projektą, turite turėti tinkamus įrankius. Viena iš esminių priemonių yra GUI (grafinė vartotojo sąsaja) komponentas. Tai leidžia lengvai pridėti grafinį komponentą be didžiulio reikalingo programavimo. Šioje kategorijoje yra dvi, kurias galite pasirinkti. Pirmasis yra AWT („Abstract Window Toolkit“) ir antrasis yra sūpynės, kurios pasirodė daug vėliau.
Abu šie priemonių rinkiniai turi savo privalumų ir trūkumų, dėl kurių jie tinka įvairiems programavimo poreikiams. AWT naudoja daug savų platformos komandų, kurios suteikia daug greičio. Bet norint konvertuoti jį naudoti kitose platformose, turite pakeisti ekvivalento komandas. Kita vertus, sūpynės naudoja gryną „Java“ kodą, todėl yra labai nešiojamos per platformas greičio ir našumo sąskaita.
Kitas „sūpynės“ bruožas yra tas, kad ji bando mėgdžioti OS, kurioje ji veikia, išvaizdą ir pobūdį, todėl ji primena gimtinę. Tai įveikė AWT, nes jis naudoja vietines komandas; atrodo tiksliai taip, kaip atrodo gimtoji vartotojo sąsaja. Pagrindinis „swing“ pranašumas yra tas, kad jis palaiko daug daugiau funkcijų nei tai, ką daro AWT. Komponentai, tokie kaip patarimai ir piktogramos, AWT nėra pasiekiami, nors jie yra visiškai naudojami sūpynėse. Pridėtos funkcijos ir grynas „Java“ sūpynių dizainas vis dėlto reiškia, kad norint paleisti programą reikės „Java“ papildinio, o šiandien dauguma naršyklių jau palaiko AWT klases, todėl nebereikia atsisiųsti papildinių..
Apibendrinant galima pasakyti, kad jei norėtumėte sukurti paprastus „Java“ programėles, jums gali padėti greitai ir lengvai sukurti AWT metodai. Bet jei norite sukurti išsamią programą, galite pasidomėti, ką jums galėtų pasiūlyti sūpynės. Gali pasirodyti, kad patobulintas komponentų sąrašas ir perkeliamumas yra naudingesni.