Home Java Java-tips GUI Tutorial About Examples

Ask Questions?

View Latest Questions


 
 

About Examples
Posted on: July 26, 2006 at 12:00 AM
This series of progressive examples shows a typical pattern for building simple applications with a window.

Java Notes

About Examples

This series of progressive examples shows a typical pattern for building simple applications with a window.
  • Example - First Window shows a main program that creates an empty window (JFrame).
  • Example - Second Window shows a main program with a subclass of JPanel to build a customized GUI (Graphical User Interface) with one (useless) button. This is the real beginning of the pattern that will be used in many examples in these notes.
  • Example - ToUppercase is an application that extends the above pattern to build a running program with labels, text fields, and buttons. It's a simple application that converts strings to uppercase, but can be the basis for many useful programs.

Rationale for some decisions

Java offers many ways to make simple programs. Here is why I made certain choices.
  • Applications, not Applets - The early hype about applets has passed, and they haven't provided as many solutions as applications. Anyway, the applet idea for distributed software is probably better done with Java WebStart. By far the best single use of Java is for applications, so the almost all examples are shown as applications. However, the programs are organized in a way (GUI as a sublcass of JPanel) that makes is very easy to use them as applets also.
  • Subclassing JPanel - Building a GUI entirely in a static main program may be possible, but it's not an OOP way of thinking. Defining classes with constructors is how programming is generally done in OOP, and these examples do that from the very beginning. Simple, useful, realistic, examples of OOP are hard to find, but a Graphical User Interface is an excellent example.
  • Put main in separate class - The main method can be put in any class.
    • Students find this easier to understand. Most students feel uncomfortable when main creates an object of its own class. Moving main to its own class is simple, a