Swing is the name given to a bunch of classes in Java that are primarily concerned with GUI components and their behavior. You won't need any special add-ons to write a standalone application that uses Swing, but anybody that uses your program will have to have a Java Virtual Machine that supports Swing (1.1 or above). If you aren't distributing the JRE with your app and your users don't already have a JRE that supports Swing, then you will have a problem. There is an excellent Swing tutorial on Sun's web site. Look here to find it.