xi Introduction How This Book Is Organized The novice to Eclipse or even an experienced Java programmer is at first overwhelmed by the sheer number of functions. But the functions visible to the user are only the tip of the iceberg. If we start to explore the inner workings of Eclipse, its API, we can get lost easily. Currently the Eclipse download has a size of 83 MB. Faced with this huge amount of information, this book uses a pragmatic approach. Following the motto that perception works from the outside to the inside, I first investigate how Eclipse presents itself to the end user. The benefit is twofold: first, each programmer is an end user of the Eclipse Java IDE; second, the various components of the Eclipse workbench, such as editors, views, menus, dialogs, and much more, can also be used in personal applications. Experienced programmers, however, may find an introduction into the Java IDE trivial and superfluous. Nevertheless, it is useful to get well acquainted with the Eclipse user interface, because many of the concepts and details can be later utilized when designing you own applications. In Chapters 1 through 7 of this book I first introduce practical work with Eclipse, in particular with the Java development environment. Eclipse presents itself as a very powerful Java IDE that continues the positive traditions of Visual Age for Java but also introduces new concepts such as code completion, strong refactoring facilities, assistants that make intelligent proposals for fixing program errors, and a local history that allows a return to previous code versions. In these chapters I also discuss the organization of the workbench, the resources of the Eclipse workspace such as projects, folders, and files, how these resources are related to the native file system, and the tools for navigation. I explain what perspectives are and how they can be used effectively. The Eclipse Java debugger and the integration of JUnit into Eclipse are discussed, and a short introduction about Eclipse s support for working in a team is given. The examples used in this part are still all based on AWT and Swing. However, this will quickly change in the second part of the book, Chapters 8 through 10. Here, I introduce the secrets of the SWT and JFace libraries. For SWT, event processing is discussed, along with the various GUI elements such as text fields, tables, buttons, and trees; the various layout options; graphics operations and how Java2D can coexist with the SWT; and printer output. I also explain the specialties of thread and resource management in the context of the SWT and the integration of SWT widgets with Swing facilities. In the case of the JFace library, I present the higher user interface levels such as windows, dialogs, viewers, actions, menus, text processing, wizards, and preferences. As an example, an MP3 player that can be deployed independently of the Eclipse platform is implemented completely with SWT and JFace. An interesting detail in this example is how the SWT library is used in a multithreaded application. In Chapters 11 through 16 I explain how to develop your own products on the basis of the Eclipse platform: either as a plug-in to Eclipse or as a stand-alone application under the Rich Client Platform. Since Eclipse consists more or less only of plug-ins, I first introduce the plug-in architecture of Eclipse. The requirements for a minimal platform are discussed, and I show how workspace resources are used in Eclipse and how plug-ins are declared via a manifest. Then the various components of the Eclipse workbench such as editors, views, actions, dialogs, forms, wizards, preferences, perspectives, and the help
We provides quality the CPanel Web Hosting. All our web hosting plans regular, business and expert are competitively priced and unsurpassed in reliability, uptime, and quality of service.