The Java Developer's Guide to Eclipse, Second Edition, Covers Eclipse 3.0 (2 Book Set) / Edition 2

Paperback (Print)
Used and New from Other Sellers
Used and New from Other Sellers
from $3.19
Usually ships in 1-2 business days
(Save 95%)
Other sellers (Paperback)
  • All (25) from $3.19   
  • New (6) from $58.34   
  • Used (19) from $3.19   

Overview

“Fully updated and revised for Eclipse 3.0, this book is the definitive Eclipse reference—an indispensable guide for tool builders, rich client application developers, and anyone customizing or extending the Eclipse environment.”

Dave Thomson, Eclipse Project Program Director, IBM

The Ultimate Guide to Eclipse 3.0 for the Java Developer. No Eclipse Experience Required!

Eclipse is a world-class Java integrated development environment (IDE) and an open source project and community. Written by members of the IBM Eclipse Jumpstart team, The Java™ Developer’s Guide to Eclipse, Second Edition, is the definitive Eclipse companion. As in the best-selling first edition, the authors draw on their considerable experience teaching Eclipse and mentoring developers to provide guidance on how to customize Eclipse for increased productivity and efficiency.

In this greatly expanded edition, readers will find

  • A total update, including the first edition’s hallmark, proven exercises—all revised to reflect Eclipse 3.0 changes to the APIs, plug-ins, UI, widgets, and more
  • A special focus on rich client support with a new chapter and two exercises
  • A comprehensive exercise on using Eclipse to develop a Web commerce application using Apache’s Tomcat
  • A new chapter on JFace viewers and added coverage of views
  • A new chapter on internationalization and accessibility
  • New chapters on performance tuning and Swing interoperability

Using this book, those new to Eclipse will become proficient with it, while advanced developers will learn how to extend Eclipse and build their own Eclipse-based tools. The accompanying CD-ROM contains Eclipse 3.0, as well as exercise solutions and many code examples.

Whether you want to use Eclipse and Eclipse-based offerings as your integrated development environment or customize Eclipse further, this must-have book will quickly bring you up to speed.

Read More Show Less

Editorial Reviews

From Barnes & Noble
The Barnes & Noble Review
Eclipse, already remarkable, has become even more so. Version 3.0’s new rich-client framework makes it a powerful platform for building and constructing applications, not just tools. Eclipse now supports Sun’s Swing components along with its own SWT. The user interface is now more intuitive, more scalable. With these and 10,000 other changes, the “insider” authors of 2003’s Java Developer's Guide to Eclipse have thoroughly revamped their book. It, too, is now even more remarkable.

Like the first edition, this is a comprehensive guide to getting started with Eclipse: first, by using it as a Java IDE, and then, by extending it to solve new problems. But virtually every chapter and example has been updated (and there’s now a complete electronic help book for the exercises, which you can install alongside Eclipse’s own help). There are no less than seven new chapters. The book’s already strong exercises have been extended and deepened.

That aforementioned rich-client support is covered in depth, with two detailed exercises -- including one that shows off Eclipse’s new runtime support for dynamic plug-ins. The coverage of extending Eclipse has been, well, extended -- with a new introduction, more coverage of views, and a whole new chapter on JFace viewers. You’ll learn new ways to build more responsive user interfaces (and leverage Swing interoperability); tune Eclipse plug-in performance; even broaden your markets via internationalization.

These IBM authors have been teaching Eclipse since before it was Eclipse (this book grows out of their experiences rolling out Eclipse’s predecessor technology). Bring your Java expertise, and they’ll take you the rest of the way. Bill Camarda, from the December 2004 Read Only

Read More Show Less

Product Details

  • ISBN-13: 9780321305022
  • Publisher: Addison-Wesley
  • Publication date: 11/19/2004
  • Edition description: 2 Book Set
  • Edition number: 2
  • Pages: 1136
  • Sales rank: 704,995
  • Product dimensions: 7.32 (w) x 9.22 (h) x 2.17 (d)

Meet the Author

Jim D’Anjou is a senior software engineer and a certified IT Specialist located at the IBM Silicon Valley Lab in San Jose, California. He has a degree in computer science from the University of California at Berkeley. Jim has more than twenty-five years of industry experience at IBM and elsewhere. He has held a variety of technical and management positions developing products for relational databases, database tools, application repositories, and application development tools. He holds two U.S. patents for work in software process automation. In March 2001, he joined the Eclipse Jumpstart team and serves as an instructor and industry consultant.

Scott Fairbrother is an advisory software engineer at IBM in Research Triangle Park, North Carolina. Scott is a software developer with more than twenty years of experience. He has developed object-oriented application frameworks for business process management. He has written specifications for IBM middleware on Windows 2000 and has also written about Microsoft Visual Studio .NET. Most recently, Scott has worked on the Eclipse Jumpstart team, helping IBM and partners create commercial offerings based on Eclipse. He received a B.S. in marine biology from the University of North Carolina at Wilmington.

Dan Kehn is a senior software engineer at IBM in Research Triangle Park, North Carolina. His interest in object-oriented programming goes back to 1985, long before it enjoyed the acceptance it has today. He has a broad range of software experience, having worked on development tools like VisualAge for Smalltalk, operating system performance and memory analysis, and user interface design. Dan worked as a consultant for object-oriented development projects throughout the United States, as well as for four years in Europe. His recent interests include object-oriented analysis/design, application development tools, and Web programming with the WebSphere Application Server. He is currently concentrating on performance analysis and tuning of IBM Eclipse-based projects.

John Kellerman joined IBM in 1984 with a computer science degree from Purdue University. He has since completed graduate degrees in computer engineering at North Carolina State and business administration at the University of North Carolina at Chapel Hill. He has spent the majority of his twenty years at IBM in the development and management of application development tool products, including ISPF/PDF, VisualAge Smalltalk, VisualAge Generator, and Eclipse. John was a founding member of the Eclipse Project, which got under way in late 1999. He is currently IBM Product Manager of Eclipse. His responsibilities include working closely on behalf of IBM with eclipse.org, the Eclipse Foundation, and the member companies to help grow the Eclipse community of contributors and commercial offerings.

Pat McCarthy, a senior software engineer at IBM, is a specialist in the use and management of development technologies on a variety of runtime platforms. Pat’s IBM career has included hands-on development of business application systems in Poughkeepsie, New York, and 12 years of project management for the development of IBM Redbooks and education offerings in San Jose, California. He has spent the last several years in Raleigh, North Carolina, focused on supporting the use of Eclipse technology in IBM application development products. Pat has a B.S. from Indiana University of Pennsylvania, an M.S. from Marist College. He is the coauthor of more than twenty IBM Redbooks.

Read More Show Less

Read an Excerpt

Origin of the Book

Starting in late 1999, the authors formed the core of a group within IBM called the Eclipse Jumpstart team. The team was created to share knowledge of what would become Eclipse technology throughout IBM and with its business partners—that is, to “jumpstart” the IBM and IBM partner development community on Eclipse. Part of this effort included the creation of a set of presentations, lecture materials, and accompanying exercises. Over the ensuing months, as the Eclipse technology matured, the presentations and exercises matured as well. As the Eclipse community grew to include various companies and academic institutions, requests for this information also grew. After every class we taught, we revised and improved the materials. When our schedules could not keep pace with the demand, we adapted the materials and made them available for use in a self-study mode. This was the genesis of this book. You can think of each chapter in the book as a classroom lesson. The exercises and examples reinforce the concepts of the chapters and provide you with practice using or extending aspects of Eclipse.The Second Edition

Late 2003 found most of the original authors still actively engaged in Eclipse. We have been unexpectedly and very pleasantly surprised with the public acceptance of the first edition. The public and private commentary on the first edition was very positive. In July 2004 the first edition received an Editors’ Choice Award from the Java Developers Journal. The authors express their sincerest thanks and appreciation to our many readers. With the first edition barely six months old, we realized that Eclipse 3.0 wouldbe very special and has the potential to take Eclipse to new heights. It will reach a much larger developer community and potentially millions of users now that Eclipse is not limited to integrated development environments (IDEs) but can host any kind of client application. The authors remain passionate about this technology and the opportunities it offers for innovative tools and applications. We decided to create a second edition earlier than planned. Our objectives for the second edition were to upgrade the book to Eclipse 3.0, improve it based on reader feedback, and add a select number of new topics. This edition is nearing the limit in sheer weight and volume that anyone should have to carry. We hope it continues to serve you and the Eclipse community well.What’s New in the Second Edition

  • All chapters, exercises, and examples from the first edition are updated for Eclipse 3.0.
  • The Guide to Reading This Book section has been added. This topic provides a plan to help readers who are new to Eclipse get the most from this comprehensive book.
  • There are seven new chapters and three new exercises. There is a special focus on the new rich client support. The book was restructured to acknowledge this significant new feature. A chapter is devoted to the rich client topic along with two detailed exercises. One of the exercises demonstrates the new Eclipse runtime support for dynamic plug-ins.
  • For readers who use Eclipse as their Java development environment, a new exercise is included in which you develop a simple Web commerce site using a Java servlet application running on an Apache Tomcat server.
  • There is an entirely new introduction to extending Eclipse. A comprehensive chapter devoted to JFace viewers was added and the chapter on views has been expanded. The chapter on concurrency will show you how to create a more responsive user interface by delegating work for processing behind the scenes. You can better manage a rich or complex user interface after reading the chapter on Eclipse capabilities. A chapter devoted to plug-in performance tuning will help you avoid common development pitfalls. A new chapter on internationalization and accessibility will help you develop products that reach wider markets. The chapter on Java Swing interoperability covers Eclipse’s improved support for Swing.
  • The book’s organization has been restructured, reflecting both the size of the book and the breadth of Eclipse functionality. The book is divided into six parts. Part I is devoted to Eclipse users, and Parts II through V are for developers extending Eclipse. Part VI includes detailed exercises for both using and extending Eclipse.
  • The CD-ROM has been restructured for easier access and loading. There are many new examples. All of the example documentation has been packaged into its own help book that can be installed alongside the other books in the Eclipse online help.

Final screenshots in this book were created just as Eclipse 3.0 was about to ship. There may be minor discrepancies between the images in this book and the final version of Eclipse. Goals

We have several goals in bringing this book to you.

  • Provide information for those new to Eclipse—A new user can leverage this book as a tutorial and a later as a reference. We do not assume prior Eclipse knowledge.
  • Explore the capabilities of Eclipse—The book covers both using Eclipse as your development environment and extending Eclipse. The chapters in Part I start with Eclipse as a general development environment and then progress to developing and debugging Java, as well as more advanced usage topics, for example, using Eclipse in a team environment. The chapters on extending Eclipse in Parts II through V cover the most frequently used classes in the Eclipse framework. References to design patterns, where applicable, illustrate the architectural relationships among the classes. The intent is not to replace the Javadoc that is included with Eclipse but to complement the documentation by focusing on how to bring a set of classes together to complete a task.
  • Provide exercises and working examples that are simple and focused on the chapter topic—The exercises and examples augment the chapter topics and illustrate key points. The chapter text concentrates on the concepts and outlines the basic steps to accomplish a task while providing small sections of code or screen captures to illustrate the point. The exercises provide detailed coding instructions and screen captures to apply the concepts described in the chapter. The CD-ROM that comes with this book contains solutions to the step-by-step exercises as well as additional working examples to supplement chapters in the book.
  • Provide comprehensive coverage of Eclipse that is usable at any level of experience—The fundamentals of Eclipse are covered, providing a foundation. From there you are free to roam among the many additional topics based on your needs and interests.
  • Promote the Eclipse community—This book provides you with the basic knowledge of Eclipse so that you can become an active participant and help grow the Eclipse open source community.

Although the term “Eclipse” conveys the image of a solar event causing darkness, the intent of this book is to shed light, add clarity, and focus on a powerful new platform. Whether you are new to Eclipse or one of the early adopters, we welcome you to the Eclipse community.Intended Audience and Prerequisites

The audience for this book includes Java programmers who plan to use Eclipse as their development environment, those who will use Eclipse-based offerings, advanced users who want to customize Eclipse further, tool providers who seek to develop tools that will integrate with Eclipse, and application developers who want to use Eclipse as the framework for their client applications. Prior experience with Eclipse is not necessary; however, this book assumes that you are familiar with the Java programming language. While it describes how to use the Java Development Tools provided by Eclipse, it does not teach the syntax and semantics of the Java programming language. How the Book Is Organized

This comprehensive book can help you learn to use and extend Eclipse. After you have mastered the basics, you will likely use this book as a reference. To help you learn Eclipse, you should start with the Guide to Reading This Book section. It breaks down this formidable text into manageable chunks that you can read in a sequence better suited for learning.

The book is divided into six parts. Part I, Using Eclipse, applies to those using Eclipse as their development environment. The book begins by covering the basic navigation and terminology of Eclipse. You will learn about the Java development environment, including secrets to becoming a power user. Using Eclipse in a team programming environment is explained. You will learn how to use the flexibility of Eclipse to maximize your productivity and fit your own personal style. Students who are studying the Java programming language may find using Eclipse, instead of simply a command line environment, a much more productive and exciting way to learn the richness and power of the language. Instructors may discover how using Eclipse in the classroom will accelerate the student’s mastery of the language and be a productive tool to use in research.

Part II, Fundamentals of Extending Eclipse, focuses on the important elements of extending Eclipse independent of whether you are extending Eclipse to develop tools or creating a client application. It covers the architecture of Eclipse, how to develop plug-ins, the creation of client applications using the rich client support, how to make your plug-ins extensible to others, and packaging and deployment.

Part III, Extending the Eclipse Workbench, covers the most commonly required topics to extend Eclipse functionality. Using the Eclipse architecture as a base, Part III covers the frameworks needed to extend the Eclipse user interface. It covers basic graphical user interface (GUI) development using the Standard Widget Toolkit (SWT), dialogs and wizards, menus, viewers, views, editors, perspectives, and online documentation.

Part IV, Extending the Eclipse IDE, focuses on those services that apply when extending Eclipse as an IDE. This is in contrast to Part II, which covers services that apply to both IDE-based and non-IDE-based applications. Part IV includes topics like accessing the workspace and extending the Java Development Tools.

Part V, Extensibility Special Topics, rounds out your knowledge of Eclipse by covering a variety of topics that you may not need right away or that are specialized to specific situations. Chapters covering serviceability, Swing interoperability, concurrency, capabilities, performance tuning, OLE and ActiveX support (Windows), and internationalization are among the topics in Part V.

Learning in a programming environment without actually writing code is difficult. Part VI, Exercises, contains a series of detailed exercises to reinforce the concepts presented in the book. Part VI depends on the files included on the CD-ROM. The CD-ROM contains solutions to all of the exercises and contains many code samples augmenting the material in the chapters. The exercises do not depend on one another, so you can perform them in any order.

Many chapters contain a reference to the book Official Eclipse 3.0 FAQs by John Arthorne and Chris Laffra (Boston, MA: Addison-Wesley, 2004). We recommend it as a complementary addition to this book. Specific frequently asked questions (FAQs) that augment the chapter content are cited in the chapter references and on the CD-ROM. See also http://eclipsefaq.org.

Read More Show Less

Table of Contents

Foreword.

Preface.

Origin of the Book.

Goals.

Intended Audience and Prerequisites.

How the Book Is Organized.

Coding Conventions.

CD-ROM.

Where to Find Further Information.

Guide to Reading This Book.

Acknowledgments.

About the Authors.

1. Read Me First.

Eclipse as a Host for Application Development Tools.

Beyond Tools: Eclipse as a Host for Client Applications.

What Is Eclipse?

Getting and Installing Eclipse.

Chapter Summary.

References.

I. USING ECLIPSE.

2. Getting Started with Eclipse.

Your First Steps.

Basic Eclipse Use.

Resource Management.

Customizing Eclipse.

Exercise Summary.

Chapter Summary.

Reference.

3. Using Java Development Tools.

Getting Started with JDT.

Writing Java Code.

Working with Java Elements.

Tuning the Performance of the JDT.

More on the JDT Views and Preferences.

Exercise Summary.

Chapter Summary.

Reference.

4. Running and Debugging Java.

Running Java Code.

Debugging.

Remote Debugging.

Exercise Summary.

Chapter Summary.

Reference.

5. Teaming Up with Eclipse.

Eclipse Support for CVS.

General Team Support by Eclipse.

An Overview of CVS for the Novice.

The CVS User Interface in Eclipse.

Special Situations and How to Handle Them.

Additional Features.

Exercise Summary.

Chapter Summary.

References.

6. Managing Your Eclipse Environment.

An Overview of Your Eclipse Installation.

Understanding the Runtime Configuration.

Coordinating Preferences.

Understanding Configuration Management Fundamentals.

Interacting with the Update Manager.

Managing Your Configuration.

Chapter Summary.

Reference.

II. FUNDAMENTALS OF EXTENDING ECLIPSE.

7. Extending Eclipse for Fun and Profit.

Excited About Extending Eclipse? You Should Be!

An Easy and Practical Example.

A Brief Tour of "Hello, World".

Asking the Right Question Is More Important Than Knowing the Answer.

Where to Go from Here?

8. Overview of the Eclipse Architecture.

That Was Then, This Is Now.

Architectural Top Priorities: Extensibility and Integration.

Eclipse the IDE Platform and Rich Client Application.

The Eclipse Platform Runtime.

User Interface Frameworks.

Workbench Frameworks.

Chapter Summary.

References.

9. Getting Started: Plug-in Development.

Getting Started with Plug-ins.

Getting Started with Extensions and Extension Points.

Basic Steps of Implementing a Plug-in.

Using the Plug-in Development Environment.

Exercise Summary.

Chapter Summary.

References.

10. Creating Applications Using the Rich Client Platform.

Reasons Applications Are Being Built on the RCP.

Eclipse Architecture, Revisited.

Opportunities for Reuse of Eclipse.

Implementing Your Own Workbench.

Exercise Summary.

Chapter Summary.

References.

11. Creating Extension Points: How Others Can Extend Your Plug-ins.

Relationship Between Extension Points and Extensions.

Viewing the Official List of Enabled Plug-ins, Extensions, and Extension Points.

How to Define Extension Points.

Handling Dynamic Plug-ins.

How to Enable the Schema-Based New Extension Wizard.

Example Summary.

Chapter Summary.

References.

12. Advanced Plug-in Development.

Migrating Your Plug-ins from Eclipse 2.1.

Plug-in Class Loader.

Runtime Discovery and Delayed Loading.

Forcing Early Plug-in Activation.

Plug-in Granularity.

Plug-in Fragments.

Chapter Summary.

References.

13. Defining Features and Products.

Features.

Products.

Exercise Summary.

Chapter Summary.

References.

III. EXTENDING THE ECLIPSE WORKBENCH.

14. The Standard Widget Toolkit: A Lean, Mean Widget Machine.

The Basic Structure of an SWT Application.

Common SWT Widgets.

Responding to Events.

How to Arrange SWT Widgets Using Layout Managers.

Error Handling.

Widgets Have Special Disposal Requirements.

Using Threads to Separate UI and Non-UI Activities.

An Overview of SWT Packages.

SWT Support for Swing.

Eclipse Forms.

Example Summary.

Chapter Summary.

References.

15. JFace Viewers.

Viewer Basics.

Viewer Framework.

Creating the Basic Content Viewer Arrangement.

Controlling the Content Displayed in a Structured Viewer.

Interacting with Viewer Objects.

Using Alternative Viewer Types.

Advanced Workbench Integration Options.

Example Summary.

Chapter Summary.

References.

16. Dialogs and Wizards.

Dialogs-The User Interface Beyond Workbench Parts.

Contributing to the Preferences Dialog.

Contributing to the Properties Dialog.

Contributing Wizards.

Directly Opening a Wizard Dialog for Your Wizard.

Example Summary.

Chapter Summary.

References.

17. Dialog Settings, Preferences, and User Settings.

Overview of the Options.

Storing Values in Dialog Settings.

Storing Preference Values for a Plug-in.

Scoped Value Management with User Settings.

Example Summary.

Chapter Summary.

References.

18. Views.

Views: The General-Purpose Workbench Part.

View Implementation.

Supporting Action Contributions.

Interacting with Other Workbench Components.

Examples Summary.

Chapter Summary.

References.

19. Editors.

Editor Behavior and Architecture.

Basic Implementation Steps.

Beyond the Basic Implementation Steps.

Example Summary.

Chapter Summary.

References.

20. Perspectives.

Creating a Perspective.

Using the perspectiveExtensions Extension Point.

Example Summary.

Chapter Summary.

Reference.

21. Action Contributions: The Integration Fast Track.

Action Contribution Extension Points.

The Fundamentals of Action Contributions.

Contributing to the Workbench Menu Bar and Toolbar.

Contributing to the View's Menu and Toolbar.

Contributing to an Editor's Menu and Toolbar.

Contributing Context Menus to Views and Editors.

Assigning Accelerator Keys to Your Actions.

Example Summary.

Chapter Summary.

References.

22. Providing Help.

Integrating Your Online Documentation.

Creating Context-Sensitive Help.

Running the Standalone Help Infocenter.

Customizing Your Help System.

Example Summary.

Chapter Summary.

References.

IV. EXTENDING THE ECLIPSE IDE.

23. Workspace Resource Programming.

Resource Concepts.

Workspace API.

Resource Properties.

Processing Workspace Resource Change Events.

Resource Modification Event Management.

Using Workspace Save Events to Save Critical Data.

Examples Summary.

Chapter Summary.

References.

24. Managing Resources with Natures and Builders.

Customizing Project Processing.

Defining and Implementing a Nature.

Defining and Implementing an Incremental Project Builder.

Example Summary.

Chapter Summary.

References.

25. Resource Tagging Using Markers.

Using Markers.

Adding New Marker Types.

Extending Markers with Generators for Resolution and Help Support.

Example Summary.

Chapter Summary.

References.

26. Building a Custom Text Editor with JFace Text.

Standard Text Editor Functions.

Editor Configuration: Customization Points.

Under the Covers of the Text Editor.

Example Summary.

Chapter Summary.

References.

27. Extending the Java Development Tools.

What Is the JDT and What Does It Do?

Java Model.

Accessing Reusable JDT Functionality.

Compiling Java Source Code.

Analyzing Java Source Code.

Manipulating Java Source Code.

Where the JDT Extends Eclipse.

Extending the JDT User Interface.

Examples Summary.

Chapter Summary.

References.

V. EXTENSIBILITY SPECIAL TOPICS.

28. Serviceability.

Plug-in Diagnostics: System and Configuration Information.

Eclipse Status Objects: A Status Collector.

Exception Handling: Error Detection.

Error Dialogs: Providing Detailed Status in Error Messages.

Runtime Tracing: A Runtime Diagnostic Tool.

Using Tracing in a Production Environment.

Diagnostics: A Comprehensive Error Log.

Error Logging: Writing to the Workbench Error Log.

Example Summary.

Chapter Summary.

Reference.

29. Implementing Responsiveness and Concurrency Using Jobs.

Concurrency Framework.

Using Jobs.

User Interaction Options.

Job Contention Management Options.

Example Summary.

Chapter Summary.

References.

30. Using Capabilities to Manage Too Much of a Good Thing.

Introducing Capabilities.

The Capabilities Extension Point.

Defining Primary Wizards.

The Activities API.

Defining Your Own Triggers.

Example Summary.

Chapter Summary.

References.

31. Internationalization and Accessibility.

What Does Internationalization Affect in Your Plug-in?

Internationalization Steps.

Accessibility.

Example Summary.

Chapter Summary.

References.

32. Performance Tuning.

Why Eclipse Should Start Quickly.

Diagnosing Startup Problems Using the Runtime Spy.

Case Study: Improving IBM WebSphere Studio's Startup.

Avoiding Performance Regressions Using the Performance Monitor.

Common Solutions to Eclipse-Specific Performance Problems.

Chapter Summary.

References.

33. Swing Interoperability.

Embedding AWT and Swing in Views and Editors.

Launch-and-Edit Integration.

ABCEditor Example-In-Process Invocation.

Example Summary.

Chapter Summary.

References.

34. OLE and ActiveX Interoperability.

COM Support in Eclipse.

COM Container Support.

OLE Automation-Accessing Extended Behavior.

Example Summary.

Chapter Summary.

Reference.

VI. EXERCISES.

Exercise 1: Using Eclipse.

Section 1: Your First Eclipse Project.

Section 2: Editors and Views.

Section 3: Working with Resources.

Section 4: Perspectives.

Section 5: Using Multiple Eclipse Windows and Workspaces.

Section 6: Getting Assistance.

Exercise Activity Review.

References.

Exercise 2: Using Java Development Tools.

Section 1: Hello World.

Section 2: Quick Fix.

Section 3: Code Generation.

Section 4: Refactoring.

Exercise Activity Review.

References.

Exercise 3: Running and Debugging Java.

Section 1: Launch Configurations.

Section 2: Debugging.

Section 3: Debugging II.

Section 4: Debugging Threads.

Section 5: Remote Debugging.

Exercise Activity Review.

References.

Exercise 4: Developing a Simple Web Commerce Application with Eclipse.

Exercise Setup.

Section 1: Setting up the Runtime Environment.

Section 2: Creating a Project for the Example.

Section 3: Debugging the Example.

Section 4: Deploying the Example.

Exercise Activity Review.

References.

Exercise 5: Working as a Team with CVS.

Exercise Setup.

Section 1: Getting Started.

Section 2: Updating, Committing, and Resolving Conflicts.

Section 3: Branching and Merging.

Exercise Activity Review.

Reference.

Exercise 6: Developing Your First Plug-in.

Exercise Setup 954Section 1: "Hello, World" in Five Minutes or Less.

Section 2: "Hello, World" with Detailed Step-by-Step Instructions.

Section 3: Testing with the Runtime Workbench.

Section 4: Debugging with the Runtime Workbench.

Section 5: Defining a Feature to Support the Plug-in.

Section 6: Deploying a Feature and Its Associated Plug-ins.

Section 7: Exploring (and Sometimes Correcting) the Eclipse Platform Code.

Section 8: Correcting Common Problems.

Exercise Activity Review.

Exercise 7: Developing Your First Rich Client Application.

Exercise Setup.

Getting Started.

Section 1: Creating an Application Extension.

Section 2: Creating a Perspective Extension.

Section 3: Creating a Workbench Advisor.

Section 4: Implementing the Application's Main Program.

Section 5: Running and Testing Your RCP Application.

Section 6: Configuring Workbench Window User Interface Elements.

Section 7: Adding Menu and Toolbar Actions.

Section 8: Deploying Your Application.

Section 9: Adding "Optional" Components.

Exercise Activity Review.

Exercise 8: Developing a Rich Client Application with Dynamically Added Plug-ins.

Exercise Setup.

Section 1: Create Your RCP Application Launch Configuration.

Section 2: Implement Your Plug-in Life Cycle start() Method.

Section 3: Implement Your Configurator.

Section 4: Develop a Simple Plug-in Discovery Mechanism.

Section 5: Installing the Bonus Pack Dynamically.

Exercise Activity Review.

Exercise 9: Deploying Your Product Using Features.

Exercise Setup.

Section 1: Tasks of a Feature Developer.

Section 2: Tasks of an Eclipse User.

Section 3: Tasks of a Product Developer.

Section 4: Tasks for a Product Service Team-Implementing an Update Site.

Section 5: Tasks of an Eclipse User-Redux.

Exercise Activity Review.

Index.

Read More Show Less

Preface

Origin of the Book

Starting in late 1999, the authors formed the core of a group within IBM called the Eclipse Jumpstart team. The team was created to share knowledge of what would become Eclipse technology throughout IBM and with its business partners—that is, to “jumpstart” the IBM and IBM partner development community on Eclipse. Part of this effort included the creation of a set of presentations, lecture materials, and accompanying exercises. Over the ensuing months, as the Eclipse technology matured, the presentations and exercises matured as well. As the Eclipse community grew to include various companies and academic institutions, requests for this information also grew. After every class we taught, we revised and improved the materials. When our schedules could not keep pace with the demand, we adapted the materials and made them available for use in a self-study mode. This was the genesis of this book. You can think of each chapter in the book as a classroom lesson. The exercises and examples reinforce the concepts of the chapters and provide you with practice using or extending aspects of Eclipse.

The Second Edition

Late 2003 found most of the original authors still actively engaged in Eclipse. We have been unexpectedly and very pleasantly surprised with the public acceptance of the first edition. The public and private commentary on the first edition was very positive. In July 2004 the first edition received an Editors’ Choice Award from the Java Developers Journal. The authors express their sincerest thanks and appreciation to our many readers. With the first edition barely six months old, we realized that Eclipse 3.0 would be very special and has the potential to take Eclipse to new heights. It will reach a much larger developer community and potentially millions of users now that Eclipse is not limited to integrated development environments (IDEs) but can host any kind of client application. The authors remain passionate about this technology and the opportunities it offers for innovative tools and applications. We decided to create a second edition earlier than planned. Our objectives for the second edition were to upgrade the book to Eclipse 3.0, improve it based on reader feedback, and add a select number of new topics. This edition is nearing the limit in sheer weight and volume that anyone should have to carry. We hope it continues to serve you and the Eclipse community well.

What’s New in the Second Edition

  • All chapters, exercises, and examples from the first edition are updated for Eclipse 3.0.
  • The Guide to Reading This Book section has been added. This topic provides a plan to help readers who are new to Eclipse get the most from this comprehensive book.
  • There are seven new chapters and three new exercises. There is a special focus on the new rich client support. The book was restructured to acknowledge this significant new feature. A chapter is devoted to the rich client topic along with two detailed exercises. One of the exercises demonstrates the new Eclipse runtime support for dynamic plug-ins.
  • For readers who use Eclipse as their Java development environment, a new exercise is included in which you develop a simple Web commerce site using a Java servlet application running on an Apache Tomcat server.
  • There is an entirely new introduction to extending Eclipse. A comprehensive chapter devoted to JFace viewers was added and the chapter on views has been expanded. The chapter on concurrency will show you how to create a more responsive user interface by delegating work for processing behind the scenes. You can better manage a rich or complex user interface after reading the chapter on Eclipse capabilities. A chapter devoted to plug-in performance tuning will help you avoid common development pitfalls. A new chapter on internationalization and accessibility will help you develop products that reach wider markets. The chapter on Java Swing interoperability covers Eclipse’s improved support for Swing.
  • The book’s organization has been restructured, reflecting both the size of the book and the breadth of Eclipse functionality. The book is divided into six parts. Part I is devoted to Eclipse users, and Parts II through V are for developers extending Eclipse. Part VI includes detailed exercises for both using and extending Eclipse.
  • The CD-ROM has been restructured for easier access and loading. There are many new examples. All of the example documentation has been packaged into its own help book that can be installed alongside the other books in the Eclipse online help.

Final screenshots in this book were created just as Eclipse 3.0 was about to ship. There may be minor discrepancies between the images in this book and the final version of Eclipse.

Goals

We have several goals in bringing this book to you.

  • Provide information for those new to Eclipse—A new user can leverage this book as a tutorial and a later as a reference. We do not assume prior Eclipse knowledge.
  • Explore the capabilities of Eclipse—The book covers both using Eclipse as your development environment and extending Eclipse. The chapters in Part I start with Eclipse as a general development environment and then progress to developing and debugging Java, as well as more advanced usage topics, for example, using Eclipse in a team environment. The chapters on extending Eclipse in Parts II through V cover the most frequently used classes in the Eclipse framework. References to design patterns, where applicable, illustrate the architectural relationships among the classes. The intent is not to replace the Javadoc that is included with Eclipse but to complement the documentation by focusing on how to bring a set of classes together to complete a task.
  • Provide exercises and working examples that are simple and focused on the chapter topic—The exercises and examples augment the chapter topics and illustrate key points. The chapter text concentrates on the concepts and outlines the basic steps to accomplish a task while providing small sections of code or screen captures to illustrate the point. The exercises provide detailed coding instructions and screen captures to apply the concepts described in the chapter. The CD-ROM that comes with this book contains solutions to the step-by-step exercises as well as additional working examples to supplement chapters in the book.
  • Provide comprehensive coverage of Eclipse that is usable at any level of experience—The fundamentals of Eclipse are covered, providing a foundation. From there you are free to roam among the many additional topics based on your needs and interests.
  • Promote the Eclipse community—This book provides you with the basic knowledge of Eclipse so that you can become an active participant and help grow the Eclipse open source community.

Although the term “Eclipse” conveys the image of a solar event causing darkness, the intent of this book is to shed light, add clarity, and focus on a powerful new platform. Whether you are new to Eclipse or one of the early adopters, we welcome you to the Eclipse community.

Intended Audience and Prerequisites

The audience for this book includes Java programmers who plan to use Eclipse as their development environment, those who will use Eclipse-based offerings, advanced users who want to customize Eclipse further, tool providers who seek to develop tools that will integrate with Eclipse, and application developers who want to use Eclipse as the framework for their client applications. Prior experience with Eclipse is not necessary; however, this book assumes that you are familiar with the Java programming language. While it describes how to use the Java Development Tools provided by Eclipse, it does not teach the syntax and semantics of the Java programming language.

How the Book Is Organized

This comprehensive book can help you learn to use and extend Eclipse. After you have mastered the basics, you will likely use this book as a reference. To help you learn Eclipse, you should start with the Guide to Reading This Book section. It breaks down this formidable text into manageable chunks that you can read in a sequence better suited for learning.

The book is divided into six parts. Part I, Using Eclipse, applies to those using Eclipse as their development environment. The book begins by covering the basic navigation and terminology of Eclipse. You will learn about the Java development environment, including secrets to becoming a power user. Using Eclipse in a team programming environment is explained. You will learn how to use the flexibility of Eclipse to maximize your productivity and fit your own personal style. Students who are studying the Java programming language may find using Eclipse, instead of simply a command line environment, a much more productive and exciting way to learn the richness and power of the language. Instructors may discover how using Eclipse in the classroom will accelerate the student’s mastery of the language and be a productive tool to use in research.

Part II, Fundamentals of Extending Eclipse, focuses on the important elements of extending Eclipse independent of whether you are extending Eclipse to develop tools or creating a client application. It covers the architecture of Eclipse, how to develop plug-ins, the creation of client applications using the rich client support, how to make your plug-ins extensible to others, and packaging and deployment.

Part III, Extending the Eclipse Workbench, covers the most commonly required topics to extend Eclipse functionality. Using the Eclipse architecture as a base, Part III covers the frameworks needed to extend the Eclipse user interface. It covers basic graphical user interface (GUI) development using the Standard Widget Toolkit (SWT), dialogs and wizards, menus, viewers, views, editors, perspectives, and online documentation.

Part IV, Extending the Eclipse IDE, focuses on those services that apply when extending Eclipse as an IDE. This is in contrast to Part II, which covers services that apply to both IDE-based and non-IDE-based applications. Part IV includes topics like accessing the workspace and extending the Java Development Tools.

Part V, Extensibility Special Topics, rounds out your knowledge of Eclipse by covering a variety of topics that you may not need right away or that are specialized to specific situations. Chapters covering serviceability, Swing interoperability, concurrency, capabilities, performance tuning, OLE and ActiveX support (Windows), and internationalization are among the topics in Part V.

Learning in a programming environment without actually writing code is difficult. Part VI, Exercises, contains a series of detailed exercises to reinforce the concepts presented in the book. Part VI depends on the files included on the CD-ROM. The CD-ROM contains solutions to all of the exercises and contains many code samples augmenting the material in the chapters. The exercises do not depend on one another, so you can perform them in any order.

Many chapters contain a reference to the book Official Eclipse 3.0 FAQs by John Arthorne and Chris Laffra (Boston, MA: Addison-Wesley, 2004). We recommend it as a complementary addition to this book. Specific frequently asked questions (FAQs) that augment the chapter content are cited in the chapter references and on the CD-ROM. See also http://eclipsefaq.org.

Read More Show Less

Customer Reviews

Average Rating 5
( 2 )
Rating Distribution

5 Star

(2)

4 Star

(0)

3 Star

(0)

2 Star

(0)

1 Star

(0)

Your Rating:

Your Name: Create a Pen Name or

Barnes & Noble.com Review Rules

Our reader reviews allow you to share your comments on titles you liked, or didn't, with others. By submitting an online review, you are representing to Barnes & Noble.com that all information contained in your review is original and accurate in all respects, and that the submission of such content by you and the posting of such content by Barnes & Noble.com does not and will not violate the rights of any third party. Please follow the rules below to help ensure that your review can be posted.

Reviews by Our Customers Under the Age of 13

We highly value and respect everyone's opinion concerning the titles we offer. However, we cannot allow persons under the age of 13 to have accounts at BN.com or to post customer reviews. Please see our Terms of Use for more details.

What to exclude from your review:

Please do not write about reviews, commentary, or information posted on the product page. If you see any errors in the information on the product page, please send us an email.

Reviews should not contain any of the following:

  • - HTML tags, profanity, obscenities, vulgarities, or comments that defame anyone
  • - Time-sensitive information such as tour dates, signings, lectures, etc.
  • - Single-word reviews. Other people will read your review to discover why you liked or didn't like the title. Be descriptive.
  • - Comments focusing on the author or that may ruin the ending for others
  • - Phone numbers, addresses, URLs
  • - Pricing and availability information or alternative ordering information
  • - Advertisements or commercial solicitation

Reminder:

  • - By submitting a review, you grant to Barnes & Noble.com and its sublicensees the royalty-free, perpetual, irrevocable right and license to use the review in accordance with the Barnes & Noble.com Terms of Use.
  • - Barnes & Noble.com reserves the right not to post any review -- particularly those that do not follow the terms and conditions of these Rules. Barnes & Noble.com also reserves the right to remove any review at any time without notice.
  • - See Terms of Use for other conditions and disclaimers.
Search for Products You'd Like to Recommend

Recommend other products that relate to your review. Just search for them below and share!

Create a Pen Name

Your Pen Name is your unique identity on BN.com. It will appear on the reviews you write and other website activities. Your Pen Name cannot be edited, changed or deleted once submitted.

 
Your Pen Name can be any combination of alphanumeric characters (plus - and _), and must be at least two characters long.

Continue Anonymously
Sort by: Showing all of 2 Customer Reviews
  • Anonymous

    Posted January 19, 2005

    The one Eclipse book you should own

    The first edition of this book was excellent for plug-in developers and helpful, although not vital, to all others. Two things make this new edition even better than the first edition. First, plug-in development in Eclipse is now so easy and so well explained in this book that there is no reason why anyone shouldn't be doing it. Have you ever worked with an IDE and thought, 'why isn't this function available in the pop-up menu' or 'why doesn't it have this feature'? Developing a plug-in will allow you to customize the functionality of Eclipse to provide the missing feature and this book will clearly explain exactly how to do that. Second, the section of the book that deals with developing with Eclipse has been improved with detailed chapters on team development including using CVS as well as an excellent example of integrating with Tomcat to develop an E-Commerce application. <p> The book is divided into two sections. The first 200 pages deal with using Eclipse and cover everything from the basics to complex team development issues. The next 600 pages cover everything you need to know about extending the functionality of Eclipse. The book ends with 200 pages of exercises that give detailed, step-by-step examples. Five exercises deal with using Eclipse while the rest show examples of extending Eclipse. It is a big book that covers a lot of material but it covers it clearly and with plenty of examples. If you buy one Eclipse book, this should be it.

    Was this review helpful? Yes  No   Report this review
  • Anonymous

    Posted December 15, 2004

    Continues to be excellent Eclipse guide & reference

    The Java Developer's Guide to Eclipse (JDG2E), 2nd edition, is the long-awaited update for the first edition, which was quite popular. This is the first book to truly cover Eclipse 3.0 extensively in both the usage of the IDE (how to use Eclipse) and in developing plug-ins (how to extend Eclipse). This book is still my 'bible' in developing Eclipse plug-ins. Many developer resources as complete as this one are most useful only if you read them from cover to cover. But I rarely have time to read a book from cover to cover at one (or adjacent) setting(s). I like a book to use more in pieces, to look up what I want to do and find a snippet of code, or an idea, to get me on my way. This book is great in that respect - countless parts of my own plug-ins have started from a code snippet found in one of the chapters. The examples are simple enough to follow, in chunks that don't require you to have read the whole book, but interesting enough to show you some of the really useful intricacies of Eclipse. The authors are experienced in training Java developers in Eclipse plug-in development, and their experience shows in their practical explanations, example code, and in the exercises included on the CD in the back of the book. There is much supplemental information there in additional to the provided exercises.

    Was this review helpful? Yes  No   Report this review
Sort by: Showing all of 2 Customer Reviews

If you find inappropriate content, please report it to Barnes & Noble
Why is this product inappropriate?
Comments (optional)