Operating Systems
Java Language
Java Micro Edition
Java Enterprise
Advanced Java
Java GUI
Java Networking
Java Tools
Programming Languages
Microsoft Technologies
Computer Science
Software Engineering
Web Programming
Web Technologies

Contact Us | What's New | Missing Link | Feedback

Java User Interface

Book Title : Programming User Interfaces with JFC
eBook download format(s) : HTM
ISBN-10 : 0139088490 
ISBN-13 : 978-0-139088-49-0 
Author(s) : Fintan Culwin Dintan Culwin 
Publisher : Prentice Hall (16 Apr 1998)
Section : Java User Interface
Book Review:

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.

add to                 Digg!

You may use anyone of the download options

eBook VersionBuy this book from Amazon
Front Cover

Missing Link?, Report It and you may wish to  Buy  this book from amazon

Tell a Friend!

Similar Book titles in Java User Interface section:
Teach Yourself Internet Game Programming With Java in 21 Days
JFC Unleashed
Creating a GUI with JFC/Swing

Similar Book titles in Other sections:

Section: CS -> Compilers and Languages
Programming Languages: Application and Interpretation
Functional Programming and Parallel Graph Rewriting
Programming in Martin-Lof's Type Theory
Advanced Programming Language Design
Programming from Specifications, Second Edition
Show all..

Section: Data Structures and Algorithms
Concepts, Techniques, and Models of Computer Programming
Patterns for Adaptive Programming (AP)
Art of Programming Contest

Section: Multimedia & Game Development
Programming The Nintendo Game Boy Advance: The Unofficial Guide
Blender Documentation Volume I - User Guide

Section: CS -> Theory
Type Theory and Functional Programming
Applicative Programming and Specification

Section: DB -> DB / 2
DB2 Connect User's Guide
Stored Procedures, Triggers and User Defined Functions on DB2
Road Map to DB2 Programming

Section: DB -> Oracle
Oracle Programming with Visual Basic
Oracle PL/SQL Programming, 2nd Edition
Oracle PL/SQL Programming: Guide to Oracle8i Features
Advanced Oracle PL/SQL Programming with Packages (Nutshell Handbook)

Section: DB -> Others
Database Programming with Perl
Programming the Perl DBI
Teach Yourself Database Programming with Visual C++ 6 in 21 Day
TEXIS: Text Information Relational Database Server User's Guide

Section: DB -> Postgre SQL
PostgreSQL User's Guide

Section: DB -> SQL
Embedded SQL Programming Guide

Section: DB -> SQL Server
SQL Server 2005 Stored Procedure Programming in T-SQL & .NET

Section: Device Drivers
Streams Programming Guide

Section: Microprocessor
Assembly Language Programming Tools for the IA-64 Architecture
DSC Dual Processor System Controller User's Manual
IA-32 Intel Architecture Software Developer's Manual Volume 3: System Programming Guide
IA-64 Assembler User's Guide
M68000 8-/16-/32-Bit Microprocessors User's Manual Ninth Edition
Show all..

Section: Peripherals
Programming guide and sample code for RTL8139 family
Serial Port Programming Information ZIP
SoundBlaster Programming Information v0.90

Section: Advanced Java
Principles of Object-Oriented Programming in Java
Tricks of Java Programming Gurus
Practical Artificial Intelligence Programming in Java
Concurrent Programming Using Java

Section: Java Enterprise Edition
Programming Jakarta Struts
Programming Jakarta Struts, 2nd Edition

Section: Java Language
Code Conventions for the Java Programming Language
Essentials of the Java Programming Language, Part 1
Essentials of the Java Programming Language, Part 2
Peter Norton's Guide to Java Programming
Teach Yourself Java 1.1 Programming in 24 Hours
Show all..

Section: Java Networking
Web Programming with Java
Java Thin Client Programming

Section: Java Tools
Java Programming Guide for OS/390
IMS Version 7 and Java Application Programming

Section: Mathematics
Lapack Users' Guide (Software, Environments and Tools, 9)
Programming for Engineers with Mathematica
An Introduction to Linear Programming and the Simplex Algorithm

Section: Miscellaneous
MH & xmh: Email for Users & Programmers, 3rd Edition
Volume 3: OPEN LOOK User's Guide
Michael Abrash's Graphics Programming Black Book
Microsoft RPC Programming Guide
Whole Internet Users Guide and Catalog
Show all..

Section: Microsoft Certifications
Programming Desktop Applications With MS Visual Basic6 MCSD training kit

Section: Microsoft C Sharp (C#)
C# COM+ Programming
C Sharp Network Programming
Programming C# (2nd Edition)
Mastering Windows 2000 Programming with Visual C++
Mastering CSharp Database Programming
Show all..

Section: Microsoft COM/DCOM/ActiveX/ATL
ActiveX Programming Unleashed
Activex Programming With Visual C++ 5
Programming Distributed Applications With COM And Microsoft Visual Basic 6.0
Teach Yourself Activex Programming in 21 Days
Programming ADO
Show all..

Section: Microsoft .(dot) net
Applied Microsoft .Net Framework Programming
Programming Microsoft.NET
Web Programming with Visual J++

Section: Office Development
Programming Microsoft Visual Interdev 6
Programming Microsoft Office 2000 Web Components
Programming Microsoft Outlook and Microsoft Exchange

Section: Microsoft Visual Basic
Programming Microsoft Visual Basic 6
Web Programming with Visual Basic
COM+ Programming with Visual Basic
Programming VB .NET: A Guide for Experienced Programmers

Section: Microsoft Visual C++
Programming Visual C++, 5th Edition
Teach Yourself Database Programming with VC++ 6 in 21 Days
Programming Windows with MFC
Mastering Windows 2000 Programming with Visual C++

Section: MS Web Technologies
Programming Microsoft Internet Explorer 5
Programming Active Server Pages

Section: Windows Development
Programming the Microsoft Windows Driver Model, Second Edition
Tricks of the Windows Game Programming Gurus (2nd Edition)
Programming Windows CE
Programming Server Side Applications For Microsoft Windows 2000
Programming Applications For Microsoft Windows
Show all..

Section: Networking
PVM: Parallel Virtual Machine: A Users' Guide and Tutorial for Network Parallel Computing
Programming Principles in Java: Architectures and Interfaces

Section: GNU/Linux OS
Advanced Linux Programming
Introduction to Socket Programming
Teach Yourself Shell Programming in 24 Hours
Linux User's Guide
Effective AWK Programming
Show all..

Section: Embedded and RTOS
Programming Embedded Systems in C and C++
RedBoot user guide
eCos user guide
WindView User's Reference
WindView User's Guide
Show all..

Section: Solaris OS
Common Desktop Environment: Application Builder User's Guide
Programming Interfaces Guide
Streams Programming Guide
Multithreaded Programming Guide
pthreads and Solaris threads: A comparison of two user level threads APIs
Show all..

Section: OS Theory
Programming the Be Operating System
Spring Concepts, Internals Architecture and Programming
HOPE: A Programming Model for Optimism
The Art of Unix Programming

Section: Unix OS
Nextstep Programming: Step One : Object-Oriented Applications/Book and Disk
The Unix Programming Environment
SCO Operating System User's Guide
Volume 7A: XView Programming Manual
Volume 3: OPEN LOOK User's Guide
Show all..

Section: Assembly Language
Windows Assembly Language & Systems Programming: 16- And 32-Bit Low-Level Programming for the PC and Windows
Introduction to RISC Assembly Language Programming
Programming from the Ground Up
The Art of Assembly Language Programming
Win32 Programming for x86 Assembly Language
Show all..

Section: C Language
Introduction to C and C++ Programming
C Programming Tutorial (K&R version 4)
Writing Bug-Free C Code for Windows: A Programming Style That Automatically Detects Bugs in C Code
Programming in C: A Tutorial
C Programming
Show all..

Section: COBOL Programming
ZingCOBOL: A Beginner's Guide to Programming in COBOL
COBOL Programming Course
COBOL Programming Guide
VisualAge COBOL for Windows Programming Guide
COBOL Programming Standards
Show all..

Section: C++ Language
An Introduction to C++ and Object Oriented Programming
An Introduction to C++ Programming
C++ in Action: Industrial Strength Programming Techniques
C++ Programming for Scientists
C++ Programming HOW-TO
Show all..

Section: Other Programming
Ada 95: The Craft of Object-Oriented Programming
Common LISP Advanced User's Guide
Common LISP User's Guide
Pascal Programming
Principles of Programming Languages
Show all..

Section: Perl Scripting
Advanced Perl Programming
Effective Perl Programming: Writing Better Programs With Perl
Practical Perl Programming
Programming Perl 5.0 CGI Web Pages for Microsoft Windows NT
Programming Perl, 3rd Edition
Show all..

Section: Ruby Programming
Programming Ruby - The Pragmatic Programmer's Guide
Ruby user's guide

Section: Scripting
Practical Programming in Tcl and Tk
The Scheme Programming Language, Second Edition
Tclwise - Guide to the Tcl Programming Language
The Scheme Programming Language, Third Edition
GUI Programming with Python: QT Edition
Show all..

Section: Smalltalk
Smalltalk/V Mac Tutorial and Programming Handbook
Smalltalk-80: The Interactive Programming Environment

Section: Redbooks Draft
DB2 Recovery Expert for z/OS User Scenarios
Programming the Cell Broadband Engine Examples and Best Practices
ABCs of z/OS System Programming Volume 8
ABCs of z/OS System Programming Volume 9
ABCs of z/OS System Programming Volume 3
Show all..

Section: Redbooks
ABCs of z/OS System Programming Volume 9
IBM System S Programming Guide
ABCs of z/OS System Programming Volume 7
ABCs of z/OS System Programming Volume 10
Stored Procedures, Triggers, and User-Defined Functions on DB2 Universal Database for iSeries
Show all..

Section: Redpapers
Speech User Interface Guide
Centrally Managing and Auditing Privileged User Identities by Using the IBM Integration Services for Privileged Identity Management
Utilizing Group Sharing Account User Management
Utilizing Group Sharing Account User Management using the IBM Tivoli Identity Manager Adapter for Tivoli Access Manager for Enterprise Single Sign-On
Managing Risk and Compliance for Privileged Users by Deploying a Centralized Provisioning and Single Sign-On Solution
Show all..

Section: Redpapers Draft
Centrally managing and auditing privileged user identities using the IBM Integration Services for Privileged Identity Management
Utilizing Group Sharing Account User Management with the IBM Tivoli Identity Manager Adapter for Tivoli Access Manager for Enterprise Single Sign-On

Section: Software Engineering
How to Design Programs: An Introduction to Programming and Computing
Programming from Specifications
Reusable Software Components: Object-Oriented Embedded Systems Programming in C
Task-Centered User Interface Design - A Practical Introduction
Reasoned Programming
Show all..

Section: Web Programming
Web Client Programming with Perl
CGI Programming on the World Wide Web
CGI Programming Unleashed
Special Edition Using Perl 5 for Web Programming
Web Programming Unleashed
Show all..

Section: XML, XSL & UML
Introduction to XML Programming
XML Programming: Web Applications and Web Services With JSP and ASP

Similar Books from Amazon :

Tell a Friend!

©2008 - Home - Privacy Policy - Program Policy, Terms and Conditions