Programmeren in de Java-taal is echt begonnen af te nemen, simpelweg vanwege hun vermogen om programma's over meerdere platforms te brengen. Dit geldt niet alleen voor desktopcomputers, maar Java is ook aanwezig in pocket-pc's en zelfs in de standaard mobiele telefoons. Vanwege dit zijn er al veel mensen die willen programmeren voor de Java-taal om te profiteren van deze grote en groeiende markt.
Programmeren in Java betekent dat u over de juiste tools beschikt om uw project snel en efficiënt af te werken. Een van de essentiële hulpmiddelen is de GUI-component (Graphic User Interface). Hiermee kunt u gemakkelijk een grafische component toevoegen zonder het grootste deel van de benodigde programmering. In deze categorie zijn er twee waaruit u kunt kiezen. De eerste is de AWT (Abstract Window Toolkit) en de tweede is de swing, die veel later verscheen.
Beide toolkits hebben hun voor- en nadelen waardoor ze geschikt zijn voor verschillende soorten programmeerbehoeften. De AWT gebruikt veel van de native commando's van het platform die hem een grote hoeveelheid snelheid geven. Maar om het te converteren voor gebruik op andere platforms, moet u de tegenstukbevelen wijzigen. Swing aan de andere kant maakt gebruik van pure Java-code waardoor het zeer draagbaar is op verschillende platforms ten koste van snelheid en prestaties.
Een ander kenmerk van swing is dat het probeert het uiterlijk en het gevoel van het besturingssysteem waarop het draait te emuleren, waardoor het lijkt op de oorspronkelijke omgeving. Dit wordt verslagen door AWT omdat het native commando's gebruikt; het ziet er precies uit hoe de native UI eruit ziet. Een groot voordeel van swing is dat het veel meer functies ondersteunt dan wat AWT doet. Onderdelen zoals tooltips en pictogrammen zijn niet beschikbaar in AWT terwijl ze volledig bruikbaar zijn in swing. De toegevoegde functies en het pure java-ontwerp van swing betekent echter dat je de Java-plug-in nodig hebt om het programma te laten draaien, terwijl de meeste browsers van vandaag al de AWT-klassen ondersteunen, waardoor plug-in-downloads overbodig zijn.
Om samen te vatten, als je eenvoudige Java-applets zou willen maken, zou je de snelle en eenvoudige constructiemethoden van AWT van grote hulp kunnen zijn. Maar als u een volledig ontwikkelde toepassing wilt maken, kunt u kijken naar wat swing u te bieden heeft. De verbeterde onderdelenlijst en draagbaarheid kunnen nuttiger blijken.