The GUIGraph software tool supports a new pedagogy, motivates students, and solves early user-interface issues. Regardless of the type of curriculum, it can provide an initial, intuitive introduction to object-oriented thinking, even before coding is discussed. By editing a UML-like object diagram, the student creates and links virtual Java Swing objects representing a user-interface, and can instantly view and manipulate its realization. GUIGraph is unique in that the student specifies an object structure to be created, equivalent to writing complex source code. When requested, GUIGraph generates the Java source code of an abstract class that constructs the object structure. The student then completes the coding of a concrete class that implements its application specific abstract methods. The functionality of the application is cleanly separated from its user-interface, which helps build design intuition, and iterative refinement of the user-interface is supported by regenerating the abstract class.