Now built into Java and closely integrated with the NetBeans Platform, JavaFX 8 is today's state-of-the-art Java-based toolkit for creating advanced user interfaces, manipulating media, generating graphical effects and animations, and much more. This guide covers everything you need to know to create industrial-strength business applications with JavaFX 8 and NetBeans -- including how JavaFX impacts user experience design, graphical design, and development processes.
Focusing on JavaFX as the front end for tomorrow's most powerful rich client applications, this is the first book to cover the version of JavaFX 8 incorporated into the Java APIs with the official release of Java SE8, instead of obsolete preview versions.
Gail and Paul Andersen fully explain both JavaFX 8 and its relationships with the NetBeans Platform architecture, and systematically show Java developers how to use them effectively together. To support sophisticated real-world business development, they also thoroughly address JavaFX 8 interactions with backend databases, JavaEE, RESTful web services, and the Jersey client. Each concept and technique is supported by clearly-written code examples proven in their world-renowned JavaOne classrooms. Coverage includes:
NetBeans Platform modules and OSGi modules
Nodes, Lookup, and Components
Building loosely coupled applications
Integrating JavaFX with a Swing-based framework
Effective persistence strategies, and much more
Product Description
JavaFX is a state-of-the-art graphics toolkit that is now built into Java and can be easily integrated with the NetBeans Platform. With JavaFX, you can create advanced user interfaces, manipulate media, generate graphical effects and animations, and much more. The NetBeans Platform provides a framework for building robust, modular applications with long life expectancies. Together, JavaFX and the NetBeans Platform provide the basis for creating visually appealing, industrial-strength applications.
Focusing on JavaFX as the front end for rich client applications, this guide’s examples cover JavaFX 8 with the NetBeans Platform, NetBeans IDE, and Java 8. Gail and Paul Anderson fully explain JavaFX and its relationship with the NetBeans Platform architecture, and systematically show Java developers how to use them together effectively. Each concept and technique is supported by clearly written code examples, proven through extensive classroom teaching.
Coverage includes
Background basics with Java, JavaFX, and UI events
Building loosely coupled applications
NetBeans Platform Modules and Lookup
NetBeans Platform Nodes, Explorer Views, and Actions
Building CRUD-based applications
Integrating JavaFX with a Swing-based framework
Using JavaFX Charts with the NetBeans Platform
Using the NetBeans Platform File System and Data System
Keeping the UI responsive
Features + Benefits
Add rich graphics, animation, and dynamic charts to Java applications
Leverage a sophisticated, modular, fully-functional GUI -- so you can concentrate on business logic instead of scaffolding
Use JavaFX 8 to build applications that are easier to upgrade and maintain
Understand the role JavaFX plays in business development -- and how it impacts user experience designers, graphics designers, and programmers
Contains code developed for Gail and Paul Anderson's internationally-renowned JavaOne training classes: small, crystal-clear examples, plus a larger, incrementally developed case study
Foreword xvii
Preface xix
About the Authors xxiii
Chapter 1: A Tour of the NetBeans Platform 1
What You Will Learn 1
1.1 Background Basics 2
1.2 The NetBeans Platform: The Big Picture 3
1.3 FamilyTreeApp Reference Application 10
1.4 Documentation 17
1.5 How to Get Java and the NetBeans Platform Software 17
1.6 Example Software Bundle 18
1.7 Key Point Summary 18
Chapter 2: Background Basics 19
What You Will Learn 20
2.1 JavaBeans and Properties 20
2.2 Lambda Expressions 38
2.3 Swing Basics 40
2.4 Improving the User Experience 63
2.5 Concurrency and Thread Safety 68
2.6 Swing Background Tasks 73
2.7 Key Point Summary 80
Chapter 3: Introduction to JavaFX 83
What You Will Learn 83
3.1 What Is JavaFX? 84
3.2 Building JavaFX Programs 87
3.3 JavaFX Properties 103
3.4 Putting It All Together 120
3.5 Key Point Summary 128
Chapter 4: Working with JavaFX 131
What You Will Learn 131
4.1 Creating JavaFX Properties 132
4.2 Using JavaFX Properties in a JavaFX Application 139
4.3 Observable Collections 148
4.4 JavaFX Applications 153
4.5 Concurrency and Thread Safety 172
4.6 JavaFX Background Tasks 176
4.7 Monitoring Background Tasks 182
4.8 Key Point Summary 195
Chapter 5: A Taste of Modularity 199
What You Will Learn 199
5.1 Modular Architecture 199
5.2 Creating a NetBeans Platform Application 203
5.3 Creating Modules 208
5.4 Configuring a Module with Public Packages 211
5.5 Registering a Service Provider 214
5.6 Configuring a Window for Selection 219
5.7 Configuring a Window with Form Editing 231
5.8 Module Life Cycle Annotations 242
5.9 What We Know So Far 244
5.10 Key Point Summary 245
Chapter 6: JavaFX Integration 249
What You Will Learn 249
6.1 JavaFX and the NetBeans Platform 250
6.2 Communication Strategies 261
6.3 Integrating with the NetBeans Platform 265
6.4 Key Point Summary 289
Chapter 7: Nodes and Explorer Views 291
What You Will Learn 291
7.1 The NetBeans Model View Controller 292
7.2 Nodes 293
7.3 Explorer Views 323
7.4 Creating a Selection History Feature 332
7.5 Key Point Summary 338
Chapter 8: NetBeans Platform Window System 341
What You Will Learn 342
8.1 Window Framework Overview 342
8.2 TopComponent Basics 352
8.3 TopComponent Persistence 361
8.4 TopComponent Client Properties 363
8.5 Creating Non-Singleton TopComponents 364
8.6 Window System Life Cycle Management 369
8.7 TopComponent Modes 376
8.8 Window Groups 381
8.9 Window Layout 387
8.10 Window Layout Roles 401
8.11 Key Point Summary 410
Chapter 9: Action Framework 413
What You Will Learn 413
9.1 Type of Actions 414
Always-Enabled Actions 414
9.2 Actions and Lookup 421
9.3 Editing the Node Hierarchy 444
9.4 Inter-Window Drag and Drop 458
9.5 Key Point Summary 468
Chapter 10: Building a CRUD Application 471
What You Will Learn 471
10.1 Create-Read-Update-Delete Application 472
10.2 Using CRUD with a Database 501
10.3 Concurrency in the FamilyTreeApp Application 516
10.4 Key Point Summary 523
Chapter 11: Dialogs 525
What You Will Learn 525
11.1 Dialog Overview 526
11.2 Standard Dialogs 527
11.3 Customizing Standard Dialogs 531
11.4 Custom Dialogs 533
11.5 Custom Login Dialog 539
11.6 Putting It All Together 544
11.7 Key Point Summary 548
Chapter 12: Wizards 551
What You Will Learn 551
12.1 Wizard Overview 552
12.2 The Wizard Wizard 554
12.3 Wizard Input 561
12.4 Wizard Validation 565
12.5 Simple Validation API 577
12.6 Finishing Early Option 587
12.7 Asynchronous Validation 592
12.8 Dynamic Sequence Wizards 598
12.9 Wizard Instantiating Iterators 614
12.10 Key Point Summary 620
Chapter 13: File System 623
What You Will Learn 623
13.1 File System API 624
13.2 The File System API Overview 624
13.3 Monitoring File Changes 636
13.4 Including a File with Your Application 649
13.5 The Layer File and System FileSystem 654
13.6 Key Point Summary 668
Chapter 14: Data System 671
What You Will Learn 671
14.1 Data System API Overview 672
14.2 Creating a New File Type 678
14.3 Working with MultiView Windows 697
14.4 Creating an XML-Based File Type 721
14.5 Key Point Summary 740
Chapter 15: JavaFX Charts 743
What You Will Learn 743
15.1 JavaFX Charts and the NetBeans Platform 744
15.2 Introducing JavaFX Charts 759
15.3 Data Visualization with JavaFX Charts 764
15.4 Adding Behaviors to JavaFX Charts 781
15.5 Saving Charts 789
15.6 Key Point Summary 795
Chapter 16: Using Web Services 799
What You Will Learn 799
16.1 RESTful Web Services and the NetBeans Platform 800
16.2 Creating RESTful Web Services 802
16.3 A Java Application Web Service Client 810
16.4 RESTful Web Services in a NetBeans Platform Application 817
16.5 Key Point Summary 845
Chapter 17: Branding, Distribution, and Internationalization 847
What You Will Learn 847
17.1 What Is Branding? 848
17.2 Application Updates 857
17.3 Application Distribution 864
17.4 Application Internationalization 868
17.5 Key Point Summary 883
Index 885
Focusing on JavaFX as the front end for tomorrow's most powerful rich client applications, this book covers JavaFX 8 with the NetBeans Platform, NetBeans 8, and Java 8 in its examples. Gail and Paul Anderson fully explain JavaFX 8 and its relationship with the NetBeans Platform architecture, and systematically show Java developers how to use them together effectively. Each concept and technique is supported by clearly written code examples proven through their extensive classroom teaching experience.
Focusing on JavaFX as the front end for tomorrow's most powerful rich client applications, this is the first book to cover the version of JavaFX 8 incorporated into the Java APIs with the official release of Java SE8, instead of obsolete preview versions.
Gail and Paul Andersen fully explain both JavaFX 8 and its relationships with the NetBeans Platform architecture, and systematically show Java developers how to use them effectively together. To support sophisticated real-world business development, they also thoroughly address JavaFX 8 interactions with backend databases, JavaEE, RESTful web services, and the Jersey client. Each concept and technique is supported by clearly-written code examples proven in their world-renowned JavaOne classrooms. Coverage includes:
NetBeans Platform modules and OSGi modules
Nodes, Lookup, and Components
Building loosely coupled applications
Integrating JavaFX with a Swing-based framework
Effective persistence strategies, and much more
Product Description
JavaFX is a state-of-the-art graphics toolkit that is now built into Java and can be easily integrated with the NetBeans Platform. With JavaFX, you can create advanced user interfaces, manipulate media, generate graphical effects and animations, and much more. The NetBeans Platform provides a framework for building robust, modular applications with long life expectancies. Together, JavaFX and the NetBeans Platform provide the basis for creating visually appealing, industrial-strength applications.
Focusing on JavaFX as the front end for rich client applications, this guide’s examples cover JavaFX 8 with the NetBeans Platform, NetBeans IDE, and Java 8. Gail and Paul Anderson fully explain JavaFX and its relationship with the NetBeans Platform architecture, and systematically show Java developers how to use them together effectively. Each concept and technique is supported by clearly written code examples, proven through extensive classroom teaching.
Coverage includes
Background basics with Java, JavaFX, and UI events
Building loosely coupled applications
NetBeans Platform Modules and Lookup
NetBeans Platform Nodes, Explorer Views, and Actions
Building CRUD-based applications
Integrating JavaFX with a Swing-based framework
Using JavaFX Charts with the NetBeans Platform
Using the NetBeans Platform File System and Data System
Keeping the UI responsive
Features + Benefits
Add rich graphics, animation, and dynamic charts to Java applications
Leverage a sophisticated, modular, fully-functional GUI -- so you can concentrate on business logic instead of scaffolding
Use JavaFX 8 to build applications that are easier to upgrade and maintain
Understand the role JavaFX plays in business development -- and how it impacts user experience designers, graphics designers, and programmers
Contains code developed for Gail and Paul Anderson's internationally-renowned JavaOne training classes: small, crystal-clear examples, plus a larger, incrementally developed case study
Foreword xvii
Preface xix
About the Authors xxiii
Chapter 1: A Tour of the NetBeans Platform 1
What You Will Learn 1
1.1 Background Basics 2
1.2 The NetBeans Platform: The Big Picture 3
1.3 FamilyTreeApp Reference Application 10
1.4 Documentation 17
1.5 How to Get Java and the NetBeans Platform Software 17
1.6 Example Software Bundle 18
1.7 Key Point Summary 18
Chapter 2: Background Basics 19
What You Will Learn 20
2.1 JavaBeans and Properties 20
2.2 Lambda Expressions 38
2.3 Swing Basics 40
2.4 Improving the User Experience 63
2.5 Concurrency and Thread Safety 68
2.6 Swing Background Tasks 73
2.7 Key Point Summary 80
Chapter 3: Introduction to JavaFX 83
What You Will Learn 83
3.1 What Is JavaFX? 84
3.2 Building JavaFX Programs 87
3.3 JavaFX Properties 103
3.4 Putting It All Together 120
3.5 Key Point Summary 128
Chapter 4: Working with JavaFX 131
What You Will Learn 131
4.1 Creating JavaFX Properties 132
4.2 Using JavaFX Properties in a JavaFX Application 139
4.3 Observable Collections 148
4.4 JavaFX Applications 153
4.5 Concurrency and Thread Safety 172
4.6 JavaFX Background Tasks 176
4.7 Monitoring Background Tasks 182
4.8 Key Point Summary 195
Chapter 5: A Taste of Modularity 199
What You Will Learn 199
5.1 Modular Architecture 199
5.2 Creating a NetBeans Platform Application 203
5.3 Creating Modules 208
5.4 Configuring a Module with Public Packages 211
5.5 Registering a Service Provider 214
5.6 Configuring a Window for Selection 219
5.7 Configuring a Window with Form Editing 231
5.8 Module Life Cycle Annotations 242
5.9 What We Know So Far 244
5.10 Key Point Summary 245
Chapter 6: JavaFX Integration 249
What You Will Learn 249
6.1 JavaFX and the NetBeans Platform 250
6.2 Communication Strategies 261
6.3 Integrating with the NetBeans Platform 265
6.4 Key Point Summary 289
Chapter 7: Nodes and Explorer Views 291
What You Will Learn 291
7.1 The NetBeans Model View Controller 292
7.2 Nodes 293
7.3 Explorer Views 323
7.4 Creating a Selection History Feature 332
7.5 Key Point Summary 338
Chapter 8: NetBeans Platform Window System 341
What You Will Learn 342
8.1 Window Framework Overview 342
8.2 TopComponent Basics 352
8.3 TopComponent Persistence 361
8.4 TopComponent Client Properties 363
8.5 Creating Non-Singleton TopComponents 364
8.6 Window System Life Cycle Management 369
8.7 TopComponent Modes 376
8.8 Window Groups 381
8.9 Window Layout 387
8.10 Window Layout Roles 401
8.11 Key Point Summary 410
Chapter 9: Action Framework 413
What You Will Learn 413
9.1 Type of Actions 414
Always-Enabled Actions 414
9.2 Actions and Lookup 421
9.3 Editing the Node Hierarchy 444
9.4 Inter-Window Drag and Drop 458
9.5 Key Point Summary 468
Chapter 10: Building a CRUD Application 471
What You Will Learn 471
10.1 Create-Read-Update-Delete Application 472
10.2 Using CRUD with a Database 501
10.3 Concurrency in the FamilyTreeApp Application 516
10.4 Key Point Summary 523
Chapter 11: Dialogs 525
What You Will Learn 525
11.1 Dialog Overview 526
11.2 Standard Dialogs 527
11.3 Customizing Standard Dialogs 531
11.4 Custom Dialogs 533
11.5 Custom Login Dialog 539
11.6 Putting It All Together 544
11.7 Key Point Summary 548
Chapter 12: Wizards 551
What You Will Learn 551
12.1 Wizard Overview 552
12.2 The Wizard Wizard 554
12.3 Wizard Input 561
12.4 Wizard Validation 565
12.5 Simple Validation API 577
12.6 Finishing Early Option 587
12.7 Asynchronous Validation 592
12.8 Dynamic Sequence Wizards 598
12.9 Wizard Instantiating Iterators 614
12.10 Key Point Summary 620
Chapter 13: File System 623
What You Will Learn 623
13.1 File System API 624
13.2 The File System API Overview 624
13.3 Monitoring File Changes 636
13.4 Including a File with Your Application 649
13.5 The Layer File and System FileSystem 654
13.6 Key Point Summary 668
Chapter 14: Data System 671
What You Will Learn 671
14.1 Data System API Overview 672
14.2 Creating a New File Type 678
14.3 Working with MultiView Windows 697
14.4 Creating an XML-Based File Type 721
14.5 Key Point Summary 740
Chapter 15: JavaFX Charts 743
What You Will Learn 743
15.1 JavaFX Charts and the NetBeans Platform 744
15.2 Introducing JavaFX Charts 759
15.3 Data Visualization with JavaFX Charts 764
15.4 Adding Behaviors to JavaFX Charts 781
15.5 Saving Charts 789
15.6 Key Point Summary 795
Chapter 16: Using Web Services 799
What You Will Learn 799
16.1 RESTful Web Services and the NetBeans Platform 800
16.2 Creating RESTful Web Services 802
16.3 A Java Application Web Service Client 810
16.4 RESTful Web Services in a NetBeans Platform Application 817
16.5 Key Point Summary 845
Chapter 17: Branding, Distribution, and Internationalization 847
What You Will Learn 847
17.1 What Is Branding? 848
17.2 Application Updates 857
17.3 Application Distribution 864
17.4 Application Internationalization 868
17.5 Key Point Summary 883
Index 885
Focusing on JavaFX as the front end for tomorrow's most powerful rich client applications, this book covers JavaFX 8 with the NetBeans Platform, NetBeans 8, and Java 8 in its examples. Gail and Paul Anderson fully explain JavaFX 8 and its relationship with the NetBeans Platform architecture, and systematically show Java developers how to use them together effectively. Each concept and technique is supported by clearly written code examples proven through their extensive classroom teaching experience.