Programming in the Java language has really started to take off simply because of its ability to port programs across multiple platforms. This is not only true for desktop computers, but Java is also present on Pocket PCs and even standard mobile phones. Because of this, there are already many people who want to program in the Java language to take advantage of this large and growing market.
Programming in Java means that you must have the right tools to finish your project quickly and efficiently. One of the essential tools is the GUI (Graphical User Interface) component. This allows you to easily add graphical components without much of the programming required. In this category, there are two that you can choose from. The first is the AWT (Abstract Window Toolkit) and the second is the swing, which appeared much later.
Both of these toolkits have their own advantages and disadvantages that make them suitable for different types of programming needs. The AWT uses many of the platform’s native commands which lend it a great deal of speed. But to convert it for use on other platforms, you need to change the counterpart commands. Swing, on the other hand, uses pure Java code, which makes it very portable across platforms at the cost of speed and performance.
Another feature of swing is that it tries to emulate the look and feel of the operating system it is running on, so it resembles the native environment. This is overcome by AWT as it uses native commands; It looks exactly like the native UI looks. One of the main advantages of swing is that it supports many more features than AWT. Components like tooltips and icons are not available in AWT, while they can be fully used in swing. However, swing’s added features and pure java design means you would need the java plugin for the program to run, whereas most current browsers already support AWT classes which eliminates the need for plugin downloads.
To summarize, if you want to create simple Java applets, you may find AWT’s quick and easy build methods to be of great help. But if you want to create a complete application, you can see what swing can offer you. Improved component list and portability could be more useful.