Programming Books C Java PHP Python Learn more Browse Programming Books
Buy Used
+ $3.99 shipping
Used: Very Good | Details
Sold by -usedbooks123-
Condition: Used: Very Good
Comment: Very Good Some wear on book from reading, we guarantee all purchases and ship all items via USPS mail.
Have one to sell? Sell on Amazon
Flip to back Flip to front
Listen Playing... Paused   You're listening to a sample of the Audible audio edition.
Learn more
See this image

Java GUI Programmers' Primer, A Textbook Binding – April 16, 1998

See all 2 formats and editions Hide other formats and editions
Amazon Price New from Used from
"Please retry"
Textbook Binding
"Please retry"

Special Offers and Product Promotions

  • Take an Extra 30% Off Any Book: Use promo code HOLIDAY30 at checkout to get an extra 30% off any book for a limited time. Excludes Kindle eBooks and Audible Audiobooks. Restrictions apply. Learn more.


Shop the New Digital Design Bookstore
Check out the Digital Design Bookstore, a new hub for photographers, art directors, illustrators, web developers, and other creative individuals to find highly rated and highly relevant career resources. Shop books on web development and graphic design, or check out blog posts by authors and thought-leaders in the design industry. Shop now

Product Details

  • Textbook Binding: 322 pages
  • Publisher: Prentice Hall; 1st edition (April 16, 1998)
  • Language: English
  • ISBN-10: 0139088490
  • ISBN-13: 978-0139088490
  • Product Dimensions: 9.2 x 7 x 0.5 inches
  • Shipping Weight: 1.1 pounds
  • Average Customer Review: 2.8 out of 5 stars  See all reviews (5 customer reviews)
  • Amazon Best Sellers Rank: #4,976,074 in Books (See Top 100 in Books)

Editorial Reviews

From the Inside Flap


The digital Webster dictionary application running on my workstation defines primer as "a small introductory book ". Alongside my workstation there is a collection of Java reference books. A quick Web search reveals that, despite Java being less than two years old, there are already well over one hundred books about Java published. I feel that I should justify adding further to this plethora which already includes other introductory books.
This book is described as a primer in contrast with the many tomes some of which contain well over a thousand pages and promise on the cover to teach the reader everything they need to know about Java programming in a frighteningly short period of time. I have been involved with teaching Software Engineering and Software Development for over two decades and my minimum estimate for the transition from novice developer to an initial competence would, for an exceptional student, be in the order of two years. For an experienced developer, without experience of GUI design and development, a shorter period of time might be required by many new concepts and considerations would have to be assimilated and new skills practiced. Consequently this book makes much more modest claims about what it might be able to do for the reader.

AWT and GUIs
This book assumes that the reader is already minimally competent in Object-Oriented Software Development and has some experience of implementation using C++ or Java. (If you are reading this preface with a view to starting to learn Software Development, and Java, from scratch, you should be reading the preface of my Java: An Object First Approach book instead.) This book is intended to allow readers with this minimal competence to obtain an initial competence in the skills involved in using the Java Abstract Windowing Toolkit (AWT) to develop applets and applications which have a Graphical User Interface (GUI).
The development of GUIs adds a further layer of considerations, and complications, to those already involved in the development of general purpose software artifacts. The first of these considerations is that such interfaces must have usability engineered into them from the outset. In the recent history of computing there have been two products, Apple's Hypercard and Microsoft's Visual Basic, which have given developers both an environment and a platform to produce highly interactive graphical artifacts. Despite some excellent applications produced using these tools the average quality of products developed with them has been abysmal.
The reason for this is that, in some senses, they have been too easy to use allowing unskilled and untrained programmers to produce GUIs which do not embody any consideration of the user. Some years ago an educator in California asked on the Usenet comp.lang.visualbasic newsgroup if anyone could advise her on design techniques which she could introduce to her students. There was absolutely no reply from the global community of Visual Basic developers. Concerned about this she asked again, more insistently, and received a single reply. The author of the reply admitted that they too did not know how to design Visual Basic applications but recommended my book on X/ Motif as a good place to start.

User Interface Models
It is against this background that I prepared this book. Like the X/ Motif book the central consideration is the modeling of a user interface in the form of State Transition Diagrams (STDs). From these it is possible to divide the application and its interface into three areas of concern: the visible part of the interface, the program logic which controls it and communicates with the third part which provides the application's functionality. This concern with usability from the outset of the design and production process attempts to ensure that the artifacts produced have a high level of both software engineering quality and usability.

Key Features
Unified Modeling Language design notation consistently used and emphasized. Exclusive use of release 1.1 of Java and its AWT. Interface usability modeled using State Transition Diagrams (STDs). Software design by consistent use of class and instance diagrams. An example of every 1.1 AWT component included. A case study illustrating different user interface styles. Internationalization and localization techniques. Production of specialized components covered.

The book starts in Chapter 1 with an overview of the developmental process where an initial artifact is designed and produced. Chapter 2 then briefly introduces each of the components which the AWT supplies. Chapter 3 starts the process of illustrating how the existing components can be extended by the developer to satisfy particular requirements. This is considerably easier in Java than in any other common GUI development environment and is central to the production of high quality interfaces.

Interface Styles
Chapters 4, 5, 6, and 7 can be thought of as a case study where four different styles of interface are provided for a single application. The application chosen is a Logo style turtle graphics environment known as the tuttle. Some of the interface styles presented are dramatically unsuitable for the controlling of a tuttle. However the intention is that these techniques for the construction of these styles of interface can be applied where the style would be more appropriate. The first of these chapters, introducing the tuttle, also provides an introduction to Java's general purpose graphical and image processing capability.

Chapter 8 extends the functionality of the tuttle, and of its interfaces to encompass undo, save and load capabilities. The final chapter, Chapter 9, introduces Java's facilities for customization, localization, and internationalization. The importance of these considerations belies their location in the sequence; however it would not be possible to introduce these techniques before Chapter 3. Consequently Chapter 9 could be read following Chapter 3, before the tuttles are considered.

Appendix A supplies information concerning other resources which might prove useful. Appendix B contains the source code for some of the classes which do not seem important enough to be included in their corresponding chapters. Appendix C discusses the terminology used in this book compared with the terminology used in other resources. This appendix also provides a reference to those parts of the Unified Modeling Language (UML) notation which is used to express the STDs, class, and instance diagrams.

Java Standards
At the time of completing this book, version 1.1.5 of Java, and of its AWT, had just been released. (Details of how to obtain it are contained in Appendix A.) All of the source code in this book has been compiled with the -deprecation flag against Sun's 1.1.5 javac compiler. During this process I noticed that several constructs which should have caused a deprecation warning to be issued, indicating that they should only be used with the 1.0 Java version, were compiled without comment.

Consequently, although I think that the book is fully compliant with the 1.1 specification, and makes no use of 1.0 constructs which should not be used, I cannot be certain of this. Likewise although I have carefully engineered all the examples used in the book, and tested them on Windows 95, Unix and, partially, on Macintosh platforms, I cannot be certain that there are not any remaining bugs. All I can do is ask that if a reader finds any use of 1.0 facilities, or uncovers any bugs, they should e-mail me the details and I will maintain a list of problems on the Web site associated with my Java books. The URL of this site is given at the end of the preface.

The typographic convention adopted is to use normal italic text whenever a new technical term is introduced, or its meaning significantly elaborated. Helvetica is used for any Java terms used with bold Helvetica for reserved words and italic Helvetica for developer decided terms. Program listings are in small courier with preceding four digit line numbers. Phrases from design schematics which do not directly translate into program terms are also presented in normal italic.
This is the fifth book I have written in the last six years and I have promised my family after completing each that that I would not start another one, at least for some time. They have accepted this promise with more than a pinch of salt and have not complained (too much) about my self-imposed incarceration in my office at times when I should have spent more time with them. Although they are getting rather pass about seeing their names in print; Maria, Leah, and Seana are still providing plenty of hot coffee and patience. Peter Chalk again took it upon himself to critique each chapter in detail at various stages in its production. This was twice the task associated with previous books and he did not complain when the 1.0 draft was rewritten to 1.1. standards. Jackie Harbor was again consistently supportive and made herself immediately available when consultations about the book's production were required. The proximity of the best pizza restaurant in London (the Castillo at the Elephant and Castle) had very little to do with this. Derek Mosely and Alison Stanford provided efficient and effective support to Jackie at Prentice Hall. A selection of students at South Bank had, for them, the rather un-unique experience of allowing themselves to be guinea pigs for yet another of my books. Their experiences with the tuttles chapters in particular revealed several obscure and subtle faults. I would also like to thank Robert Hermann of Sun Microsystems and Jack Hodges of San Francisco State University, who reviewed the manuscript.

Fintan Culwin
South Bank University: London

From the Back Cover

A Java GUI Programmer's Primer provides an introduction to the design and development of Java artifacts that have a graphical user interface. Written for students and professionals, this book will provide students with initial knowledge of, and skills for, the effective use of the interface components supplied with release 1.1 of the Java language and its Abstract Windowing Toolkit (AWT).

Emphasizing that the design process must commence with usability considerations and that the software architecture must reflect this overriding concern, author Fintan Culwin includes the following important features:

* UML design notation is consistently used and emphasized.
* Consistent use of release 1.1 of Java and its AWT.
* Interface usability modeled using State Transition Diagrams (STDs).
* Software design by consistent use of class and instance diagrams.
* An example of every 1.1 AWT component included.
* Includes a case study illustrating different use interface styles.
* Internalization and localization techniques are covered.
* A web site to support the book is at

More About the Author

Discover books, learn about writers, read author blogs, and more.

Customer Reviews

2.8 out of 5 stars
Share your thoughts with other customers

Most Helpful Customer Reviews

4 of 4 people found the following review helpful By A Customer on June 7, 1999
Format: Textbook Binding know java, or you think you know java, and now you want to develop and deliver serious java applications. How should you approach the task of segregating the application part of your code from the user interface? What sort of user interface is appropriate for your application? What issues should you consider before writing one line of code? "A Java GUI" provides answers to these and other java user interface development questions.
A word of warning: This book is not for beginners. Readers who have a solid foundation in java fundamentals and object-oriented design in general will gain the most from the book. You will learn many useful design techniques. It will be up to you to decide which one is appropriate for your particular project.
If you are a novice I recommend buying the book for your reference library so that when you're ready to move to an advanced level of java coding you'll have it handy.
No one book on Java programming, regardless of focus, can hope to cover every feature or nuance within its scope. Fintan's work is no exception, however, he does an excellent job in focusing the material on those issues which contribute directly to good, solid java user interface design practice. He doesn't repeat a lot of the same crap you find in most java books...but he does cover background material, (his coverage of the core java AWT features is the best I've seen anywhere), where it aids in the reader's understanding of what he's about to say.
If you've really read any programming texts, and understand what you're reading, you soon discover than many are plagued with typos or outright lies. Fintan's book contains far fewer errors or omissions than most.
Read more ›
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
2 of 2 people found the following review helpful By A Customer on February 12, 1999
Format: Textbook Binding
As a professional HCI and Java developer I found this book extremely valuable, not for what it said explicitly but what it teaches you implicity.
Usability and HCI strategies are incorporated into every stage of the engineering cycle and reveal why Java is a usability-friendly language.
The programs and exercises cover most topics you would expect from a language book but the key to the books usefulness is not in the traditional 'let's start coding straight away' approach to programming books.
The use of solid HCI/usability techniques throughout the development stages and how to get from paper to products with usability standards and the demonstration of Java as a language that has been developed with consideration of usability issues id invaluable.
It is important to note that Dr. Culwin sees the usability engineering methods as part of the sotfware engineering lifecycle, NOT a separate procedure.
Also, this book is as much about integrated good software and usability engineering as it is about Java ability to accommodate usability engineering.
The programs and tasks give thorough examples to develop various types of interfaces and explains the architectures/design of Java artefacts and provides a hands-on introduction to UML and STD notation.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
1 of 1 people found the following review helpful By A Customer on January 25, 1999
Format: Textbook Binding
Although this primer includes more than I would have expected in the way of design strategies, the presentation makes following the code more work than necessary. Verbose naming schemes and extensive 4 digit line-number references takes away what I usually look for in a primer (quick and to the point) and forces me into the mental acrobatics usually needed for much more technical material (such as assembly for the 68000).
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
Format: Textbook Binding
My problem with the book is the author approaches the gui examples without using or discussing established gui idioms such as lightweight components and anonymous inner classes. His failure to tie his work solidly back to important java features makes it hard to integrate his ideas with recommended usage and style. Finally, the format of the book's presentation makes it somewhat difficult to follow the examples and the different font styles, sizes, etc. are annoying.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again
1 of 3 people found the following review helpful By A Customer on August 5, 2003
Format: Textbook Binding
Starts out bashing everything that came before java and believes that only trained programmers should be able to write GUI apps. Give me a break. Good GUI's should be language neutral. If you dont mind java-evangalist nonsense the go ahead and buy this. Otherwise - keep looking.
Comment Was this review helpful to you? Yes No Sending feedback...
Thank you for your feedback. If this review is inappropriate, please let us know.
Sorry, we failed to record your vote. Please try again