the definitive guide to netbeans platform 7

562 7.6K 0
the  definitive  guide  to  netbeans  platform  7

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Böck Shelve in Programming Languages/Java User level: Beginning–Advanced www.apress.com SOURCE CODE ONLINE RELATED BOOKS FOR PROFESSIONALS BY PROFESSIONALS ® The Definitive Guide to NetBeans Platform 7 The Definitive Guide to NetBeans Platform 7 covers all the major APIs of the NetBeans Platform in detail, with relevant code examples throughout. It focuses strongly on busi- ness features such as how to use OSGi, how to add authentication/security, and how modular architectures can save money by streamlining management and updates. With The Definitive Guide to NetBeans Platform 7, you’ll learn how to: • Start using the NetBeans Platform, with or without the IDE • Set up a modular application using either Ant or Maven • Work with the popular and powerful Visual Library, covering all its features in detail • Reuse OSGI bundles within your NetBeans Platform application • Distribute a modular application, with strategies for monetizing its modular architecture The Definitive Guide to NetBeans Platform 7 begins by explaining what the platform is and what needs it fulfills. Next, the book covers the major conceptual divisions of the platform (actions, user interface, file IO, data persistence, internationalization sup- port) in detail. In addition, author Heiko Böck leads you through the development of a complete rich client application which demonstrates first-hand the techniques used to develop a typical NetBeans business application. From initial draft to creating the basic structure to implementing the application logic, you will build an MP3 manager that integrates the Java Media Framework (JMF) as well as the Java DB database system among others. Inside this thorough, authoritative guide you will find the knowledge you need to develop rich client applications with the NetBeans Platform. www.it-ebooks.info For your convenience Apress has placed some of the front matter material after the index. Please use the Bookmarks and Contents at a Glance links to access them. www.it-ebooks.info iii Contents at a Glance  About the Author xxv  About the Translator xxvi  About the Technical Reviewers xxvii  Acknowledgments xxviii  Introduction xxix  Part 1: Basics & Concepts: Basics of the NetBeans Platform 1  Chapter 1: Introduction 3  Chapter 2: Structure of the NetBeans Platform 9  Chapter 3: The NetBeans Module System 17  Chapter 4: The OSGi Framework 49  Chapter 5: Lookup Concept 57  Chapter 6: Actions 75  Chapter 7: Data and Files 87  Chapter 8: Tips and Tricks 101  Part 2: Look & Feel: Developing User Interfaces 107  Chapter 9: Menu Bar and Toolbar 109  Chapter 10: Window System 123  Chapter 11: Status Bar and Progress Bar 147  Chapter 12: Nodes and Explorer 157  Chapter 13: Dialogs and Wizards 169  Chapter 14: Visual Library 187  Chapter 15: Tips and Tricks 207 www.it-ebooks.info  CONTENTS AT A GLANCE iv  Part 3: Ready & Go: Using the NetBeans Platform Standard Modules 215  Chapter 16: Help System 217  Chapter 17: Output Window 225  Chapter 18: Navigator 229  Chapter 19: Properties 235  Chapter 20: Options and Settings 241  Chapter 21: Palette 251  Part 4: Use & Extend: Advanced APIs of the NetBeans Platform & ID 261  Chapter 22: Palette API 263  Chapter 23: Task List API 269  Chapter 24: Quick Search API 275  Chapter 25: Auto Update Services API 279  Part 5: Server & Database: Enterprise Applications and the NetBeans Platform287  Chapter 26: Java DB 289  Chapter 27: Hibernate 307  Chapter 28: Java Persistence API 315  Chapter 29: MySQL and EclipseLink 321  Chapter 30: Web Services 327  Chapter 31: Java Enterprise Edition and the NetBeans Platform 333  Chapter 32: RESTful Web Services 345  Chapter 33: Authentication and Multi-User Login 353  Part 6: Pack & Ship: Adapting, Delivering, and Actualizing Applications 369  Chapter 34: Internationalization and Localization 371  Chapter 35: Branding and Packaging Application 379  Chapter 36: Updating a NetBeans Platform Application 389  Part 7: Test & Tooling: Developing and Testing NetBeans Platform Applications399  Chapter 37: Maven and the NetBeans Platform 401  Chapter 38: Eclipse IDE and the NetBeans Platform 415  Chapter 39: From Eclipse to NetBeans 423 www.it-ebooks.info  CONTENTS AT A GLANCE v  Chapter 40: IntelliJ IDEA and the NetBeans Platform 431  Chapter 41: NetBeans Swing GUI Builder 439  Chapter 42: Testing NetBeans Platform Applications 459  Chapter 43: Debugging with the NetBeans IDE 481  Part 8: Play & More: Developing an MP3-Manager 493  Chapter 44: Sample Project: MP3 Manager 493  Appendix 529  Index 537 www.it-ebooks.info xxix Introduction With this work in your hands, you hold the most current and the most comprehensive guide to the Swing-based rich client platform, NetBeans Platform 7. This theme-rich client platform is highly topical. In addition to the NetBeans Platform, Eclipse RCP is also a principal representative of this category. The development of these two platforms was mainly driven by the NetBeans and Eclipse integrated development environments (IDEs). Those two IDEs are based on their respective platforms and represent a rich client application themselves. The NetBeans Platform is completely based on the Java API with AWT and Swing and integrates the concepts of the Java Standard Edition (JSE), while the Eclipse RCP with SWT and JFace builds more and more on its own approaches and concepts. Rich client platforms are flexible and used mainly for their constantly increasing requirements for applications and their architecture. One crucial aspect is their increased productivity and flexibility to be able to equip a product depending on its intended usage and to adapt it to a market. This is especially important for professional applications. In my opinion, the NetBeans Platform is always worth using, even if an application is very small or quite huge, because of the comprehensive support actually provided by the NetBeans IDE. It is also already worth it because of the execution environment, and even more so because of the numerous APIs that provide practical solutions for frequently occurring problems and challenges with client application development. These solutions are very close to the practice and the application and increase productivity a lot. However, this assumption is based on one basic condition: professional knowledge and use of the workings of the rich client platform. The application developer should at least know the main principles; only then can the real advantages of increased productivity and greater software quality be achieved in practice. Many developers have assumed the platform was too complex, which is one of the main reasons the rich client platforms have not yet been established as quasi-standards for client application development. At first, developers may get the impression that there is a huge wall of APIs and concepts to master. However, once you begin to learn more, you find that there are immense synergies and simplifications possible, which make up for the challenges of the initial learning phase. The NetBeans IDE simplifies both daily usage and developers’ learning curve by providing comprehensive, helpful, and intuitive wizards. It is surely important that all NetBeans APIs and concepts build on the APIs and concepts of the Java Standard Edition (JSE). That fact simplifies everyday experiences with it and also facilitates the reuse of already existing components. News of the NetBeans Platform The NetBeans Platform 7 contains numerous innovations. One crucial innovation is the introduction of Annotations. Actions, for example, do not have to derive from a special class anymore. Thus, actions can be registered via annotations, and at the same time, actions can be added to a menu or to a toolbar, too. Before, you had to assign two separate configuration files for top components. Now, top components are registered via annotations and made public to the NetBeans Platform. Declarative information can now be directly and decentrally provided because of using annotations. Annotations are well documented www.it-ebooks.info  INTRODUCTION xxx and are checked by the editor or respectively by the compiler;, information is provided in a simpler manner and potential erratic entries in XML are avoided. Furthermore, the information is located exactly at the position it refers to, so no additional files have to be managed. This also simplifies refactoring and facilitates the NetBeans Platform’s independence of the NetBeans IDE. Bear in mind that the necessary configuration files, or rather configuration entries, are created out of the annotations at compile time. This means using annotations is not mandatory; you can also manually create the necessary configuration as previously. Whether or not you use annotations is a question of philosophy in the end, and also depends on the project’s size and on your special needs. Of course, you can also look at the disadvantages of annotations. For example, the meta-information is scattered in the source files. A central file might be easier to adapt or to overlook. The support of OSGi bundles is also a crucial innovation. Now OSGi bundles can be executed parallel to NetBeans modules within the NetBeans Platform 7. For this purpose, the OSGi framework, Felix or Equinox, is optionally integrated in the NetBeans Platform. It is also possible to convert the NetBeans Platform modules into OSGi bundles. This innovation allows the use of numerous existing OSGi bundles. Out-of-the-box support of Maven can also be called an innovation. NetBeans Platform applications can now be completely developed via Maven. With the NetBeans Maven plugin and the availability of all NetBeans Platform modules in a public Maven repository, there is nothing that prevents using the NetBeans Platform outside the NetBeans IDE. How This Book Is Structured This book is aimed at Java developers who want to develop client applications based on the NetBeans Platform. No previous knowledge of rich client platforms is required. The main goal of this book is to provide the basic ideas and functionalities of the NetBeans Platform close to actual practice and to explain the very good support the NetBeans IDE provides for the development phase of your application as well as the interfaces and advantages of the NetBeans Platform. In this way I hope to motivate you to further use the NetBeans Platform—and to ask yourself why you have not been developing your applications on the basis of a rich client platform already, especially once you recognize the numerous advantages you could have benefited from in the past. The separate chapters of the book are mostly independent of each other, in order to give you a way to get directly into individual chapters, and to provide you an optimal manual for developing rich client applications based on the NetBeans Platform. To keep the chapters clear and to facilitate direct access, the explanations within this book are supported by small examples without referring to an overall application. At the end of the book, I will show how to create a complete rich client application, from the draft phase over creating the basic structure to implementing the application logic. I will explain this in a tutorial-like format with the example of an MP3 manager. In this application you will integrate the Java Media Framework (JMF) as well as the Java DB database system, among others. Part 1 deals with the basic features and concepts of the NetBeans Platform. At first, you will learn how a rich client is defined, which features a rich client platform generally contains, and which special advantages the Netbeans Platform provides. Additionally, because the module-based nature is crucial, I will cover both the NetBeans module system and the OSGi framework in the Part 1. The central topics of Lookup, actions, and data management complete the first part with one chapter each. Part 2 is completely devoted to developing user interfaces. This part mainly deals with the Window System as well as the menu bar, toolbar, status bar, and progress bar. Due to the support of the Window System, you can implement and easily manage your own windows. Connected to the data management, which is explained in the first part, you will learn about the flexible node concept together with the www.it-ebooks.info  INTRODUCTION xxxi Explorer API in a separate chapter. This part also covers developing dialogs and wizards as well as using the powerful Visual Library API. In Part 3 we will take a closer look at the standard modules of the NetBeans Platform which can be used directly without great effort. This includes the help system, the output window, the navigator, the properties window, the options dialog, and the palette module. I will explain how to use each of them in a separate chapter. Part 4 is about using the very helpful APIs of the NetBeans Platform and the NetBeans IDE. Actually, you are not limited to the modules of the NetBeans Platform. One chapter explains how to use the Palette API and another how to use the Task List API. Additionally, we will take a closer look at the Quick Search and the Auto Update Services API by means of examples that are close to actual practice. With Part 5 I put the NetBeans Platform in the context of databases and Java EE applications. First, you will use the Java DB as a client-side database solution within a NetBeans Platform application. Using Hibernate to facilitate accessing databases is covered in a following chapter. However, applying Hibernate does not need to be dependent on a special object-relational mapping (ORM) framework. In a later chapter, I will explain how to integrate the Java Persistence API (JPA) for this purpose. As an alternative to Java DB and Hibernate, I will also go deeper into the MySQL database solution in connection with EclipseLink. We will look at the topic of web services from both sides in this part: on the one hand, it is about using any available web services using SOAP. On the other hand, it is about connecting server-side Java EE applications using SOAP and REST-based web services. A final chapter will answer questions concerning authentication of users and specific adaptation of the application. In Part 6 you will learn which possibilities the NetBeans Platform provides concerning internationalization and localization. Furthermore, this part covers the branding of the NetBeans Platform as well as packing the whole application as a deliverable unit. In another chapter you will learn about the update mechanism of the NetBeans Platform with which you can update your application in a simple and transparent manner after delivering. Part 7 of this book is about the different development and test tools of the NetBeans Platform or, respectively, of the NetBeans IDE. First, it is about implementing NetBeans Platform applications using the Maven build system. In another chapter you learn about how to develop NetBeans Platform applications even within the Eclipse IDE using Maven. Additionally, one chapter will simplify changing from the Eclipse IDE to the NetBeans IDE to develop NetBeans Platform applications. In addition to the NetBeans and the Eclipse IDE, the IntelliJ IDEA can also be used to develop NetBeans Platform applications. The NetBeans IDE provides a powerful GUI builder for the efficient development of user interfaces. You will learn how to use it and how to debug and test your application in separate chapters. Part 8 completes this guide with a fully functional example. In the course of this part, you develop an MP3 manager application step by step. The previously described concepts and technologies come together here and can be understood as in actual practice. Downloading the Code All examples and explanations in this book are based on Java 6 and NetBeans 7. You can download the Java Development Kit (JDK 6) at http://java.oracle.com and NetBeans 7 at http://netbeans.org. Each of the source code examples in this book can be downloaded from the Source Code/Download area for this book on the Apress web site as a complete runnable NetBeans IDE project. www.it-ebooks.info PART 1 Basics & Concepts: Basics of the NetBeans Platform www.it-ebooks.info C H A P T E R 1 3 Introduction This chapter introduces you to rich client development. In the process, you will learn what a rich client is and how a rich client platform can help you. This chapter will also briefly touch on the main advantages and characteristics of the NetBeans Platform. What Is a Rich Client? In a client server architecture the term rich client is used for clients where the data processing occurs mainly on the client side. The client also provides the graphical user interface (GUI). Often rich clients are applications that are extendable via plugins and modules. In this way, rich clients are able to solve more than one problem. Rich clients are typically developed on top of a framework. A framework offers a basic starting point on top of which the user can assemble logically related parts of the application, which are called modules. Ideally, unrelated solutions (such as those made available by different providers) can work together, so that all the modules appear to have been created as one whole. Above and beyond all that, rich clients have the advantage that they are easy to distribute and update, such as via an automatic online update function within the client itself or through a mechanism that enables the rich client to start over the Internet (for example, via Java Web Start). Here’s an overview of the characteristics of a rich client: • Flexible and modular application architecture Platform independence • Adaptability to the end user • Ability to work online as well as offline • Simplified distribution to the end user • Simplified updating of the client What Is a Rich Client Platform? A rich client platform is an application lifecycle environment, a basis for desktop applications. Most desktop applications have similar features, such as menus, toolbars, status bars, progress visualizations, www.it-ebooks.info [...]... classes together with a description of the interfaces that the module exposes, as well as a description of the other modules that it needs in order to function The complete NetBeans Platform, as well as the application built on top of it, are divided into modules These are loaded by the core of the NetBeans Platform, which is known as the NetBeans runtime container The NetBeans runtime container loads the. .. together with the data specified in related XML files and therefore does not need to be explicitly added to the NetBeans Platform Using XML files, the NetBeans Platform knows the modules that are available to it, as well as their locations and the contracts that need to be satisfied for them to be allowed to be loaded These dependencies are declared in the module’s manifest file and resolved by the NetBeans. .. introduced the most important characteristics of the NetBeans Platform 7 www.it-ebooks.info CHAPTER 2 Structure of the NetBeans Platform To give you an overview of how a rich client application is structured and to show the relationship of the application you’re creating to the NetBeans Platform, this chapter will discuss the architecture of the NetBeans Platform It will also introduce the independent... NETBEANS PLATFORM Figure 2-2 NetBeans Platform architecture NetBeans Platform Distribution Normally you do not need to separately download a distribution of the NetBeans Platform, because the NetBeans Platform is already a basic part of the NetBeans IDE, which is a rich client application itself Developing your application in the NetBeans IDE, the Platform is extracted from the NetBeans IDE However, there... IDE However, there is the possibility of also adding multiple NetBeans Platforms to the NetBeans IDE To that end, you can download a separate distribution of the NetBeans Platform from the official site, at http:/ /netbeans. org/features /platform Now let’s take a closer look at the important parts of the NetBeans Platform distribution: • The modules org .netbeans. bootstrap, org .netbeans. core.startup,... org-openide-utillookup comprise the NetBeans runtime container, which is the core of the platform and is responsible for the development of all other modules • The NetBeans Platform also supports OSGi technology The modules needed for this are org .netbeans. libs.felix, org .netbeans. core.osgi, org .netbeans. core.netigso, and org .netbeans. libs.osgi • The modules org -netbeans- core, org -netbeans- core-execution, org-netbeanscore-ui,... building blocks of the NetBeans Platform and the responsibilities that the NetBeans runtime container handles for you Finally, this chapter will explain the structure of the NetBeans classloader system along with the role it plays in applications built on top of the NetBeans Platform NetBeans Platform Architecture The size and complexity of modern applications is steadily increasing At the same time, professional... distribution (see Chapter 35) The NetBeans IDE provides a wizard to help you apply a NetBeans Platform Application project 1 Start the NetBeans IDE and then select File  New Project… in the menu Different project categories are displayed in the dialog that appears on the left side Select NetBeans Modules there Then choose the project type NetBeans Platform Application on the right side (see Figure 3-3)... classes to be loaded from other modules, while avoiding namespace conflicts The loading of classes is delegated to the parent classloader, rather than the modules themselves In addition to the classes of the module JAR archive, this classloader is also responsible for loading the Locale Extension Archive (see Chapter 34) from the subdirectory locale, as well as the patch archives under the subdirectory... example, the Actions API, which makes available the often needed action classes; the powerful Nodes API; and the Options SPI, which helps your own options dialogs to be easily integrated into the application In addition to these, there are also complete reusable components in the NetBeans Platform, such as the Output Window and the Favorites module 10 www.it-ebooks.info CHAPTER 2  STRUCTURE OF THE NETBEANS . PROFESSIONALS BY PROFESSIONALS ® The Definitive Guide to NetBeans Platform 7 The Definitive Guide to NetBeans Platform 7 covers all the major APIs of the NetBeans Platform in detail, with relevant. from the Eclipse IDE to the NetBeans IDE to develop NetBeans Platform applications. In addition to the NetBeans and the Eclipse IDE, the IntelliJ IDEA can also be used to develop NetBeans Platform. need to be explicitly added to the NetBeans Platform. Using XML files, the NetBeans Platform knows the modules that are available to it, as well as their locations and the contracts that need to

Ngày đăng: 05/05/2014, 17:18

Từ khóa liên quan

Mục lục

  • Cover

    • Contents at a Glance

    • Contents

    • About the Author

    • About the Translator

    • About the Technical Reviewers

    • Acknowledgments

    • Introduction

      • News of the NetBeans Platform

      • How This Book Is Structured

      • Downloading the Code

      • Introduction

        • What Is a Rich Client?

        • What Is a Rich Client Platform?

        • Advantages of a Rich Client Platform

          • Reduction of Development Time

          • User Interface Consistency

          • Updating an Application

          • Platform Independence

          • Reusability and Reliability

          • Characteristics of the NetBeans Platform

            • User Interface Framework

            • Data Editor

            • Customization Display

            • Wizard Framework

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan