Extended abstract: As many have learned by experience, teaching a CS 1 course in Java requires an entirely new approach.  Because it is an object-oriented language, it is difficult to teach it in the style used for imperative languages like Pascal, C, and C++.  Many have proposed teaching Java in an objects-first way, but others have complained that too many concepts must be introduced before students can understand the construction of classes and objects.  This three hour workshop is focused on a new approach to teaching Java that we have developed at Williams College over the last two years that overcomes these problems. Our design goals in developing the course were: We have developed a library that introduces an object-oriented set of graphic objects and that simplifies the the introduction of event-handling and concurrency to novices, while still remaining faithful to the underlying Java model.  Using the library, event-driven programming is introduced in the first week of classes, and concurrency is introduced by week four.  Yet the style of programming is similar enough to standard Java that by halfway through the term, students are using standard Java GUI components and listeners.