HAPPY BOOKSGIVING
Use code BOOKSGIVING during checkout to save 40%-55% on books and eBooks. Shop now.
Register your product to gain access to bonus material or receive a coupon.
This PDF will be accessible from your Account page after purchase and requires PDF reading software, such as Acrobat® Reader®.
The eBook requires no passwords or activation to read. We customize your eBook by discreetly watermarking it with your name, making it uniquely yours.
Updated for JavaFX 1.3
The JavaFX platform makes it possible to write applications that can be deployed across devices ranging from cell phones to desktops, with little or no change required. JavaFX applications are written using JavaFX Script, a new and easy-to-use scripting language.
Kim Topley’s JavaFX™ Developer’s Guide thoroughly covers the JavaFX language and its core libraries and shows you step by step how to develop and deliver JavaFX applications for the desktop and for mobile devices. It provides complete coverage of all aspects of the language, including
Topley highlights critical topics that other books gloss over, presents detailed examples that stretch JavaFX to its limits, and shows you exactly how to build on the skills you already have. Whether you’ve been focused on HTML/XML/CSS Web development or Java Swing, this book will help you get outstanding results with JavaFX.
About the Author xxv
Preface xxvi
Part I: Introduction to JavaFX
Chapter 1: An Overview of JavaFX 3
The JavaFX Platform 3
The JavaFX Script Language 5
The JavaFX Runtime 9
JavaFX Development Tools 13
Deployment 14
Chapter 2: JavaFX Script Basics 17
Source File Structure 17
Comments 18
The package Statement 20
The import Statement 20
Other JavaFX Statements 23
JavaFX Keywords and Reserved Words 27
Script Execution and Arguments 28
Predefined Variables 31
Chapter 3: JavaFX Script Development 33
Compiling and Running JavaFX Code 33
Documentation in JavaFX Source Code 43
Chapter 4: A Simple JavaFX Application 45
Building the SnowStorm Application 46
SnowStorm on the Web, a Phone, and TV 65
Debugging the SnowStorm Application 72
Profiling the SnowStorm Application 77
Source Code for the SnowStorm Application 82
Part II: The JavaFX Script Language
Chapter 5: Variables and Data Types 89
Variable Declarations 89
Object Types 94
Basic Data Types 97
Type Inference 117
Visibility of Variables 119
Chapter 6: Expressions, Functions, and Object Literals 121
Expressions and Operations 121
JavaFX Functions 134
Object Literals 147
Chapter 7: Sequences 153
Sequence Creation 153
The String Form of a Sequence 155
Range Notation 156
Sequence Equality and Copying 157
Querying Sequences 158
Modifying Sequences 162
Operations on Sequences 167
Java Arrays 174
Chapter 8: Controlling Program Flow 179
The if Statement 179
The while Statement 181
The for Statement 184
Exception Handling 193
Chapter 9: Binding 195
Binding to Variables and Expressions 195
Binding and Functions 207
Binding and Sequences 217
Chapter 10: Triggers 221
Triggers on Simple Variables 221
Triggers and Sequences 229
Triggers and Instance Variables 236
Chapter 11: JavaFX Script Classes 239
JavaFX Class Declaration 240
Subclassing and Abstract Classes 249
Using Bound Functions 258
Variable Overrides 259
Class Initialization 261
Classes and Script Files 265
Mixins 266
Chapter 12: Platform APIs 285
Built-In Functions 285
Arguments and System Properties 287
Application Shutdown 292
Deferring Operations 294
Functions for Internationalization 295
Local Storage 298
Conditional Features 307
Chapter 13: Reflection 309
Context and Classes 309
Types and Values 314
Variables and Functions 320
Using Reflection 328
Part III: User Interfaces with JavaFX
Chapter 14: User Interface Basics 341
The Stage Class 342
The Scene Class 358
Nodes 360
Alerts 369
3D Features 372
Chapter 15: Node Variables and Events 375
Cursors 375
Colors 378
Events 401
Chapter 16: Shapes, Text, and Images 433
Shapes 433
Stroking and Filling Shapes 456
The Text Class 466
Fonts 472
Groups and Custom Nodes 482
Images 486
Chapter 17: Coordinates, Transforms, and Layout 503
Transforms 503
Combining Transforms 517
Clipping 523
Coordinates and Bounds 527
Node Layout 538
SnowStorm Revisited 579
Coordinates and Screens 585
Chapter 18: Animation 591
Timelines 591
Controlling a Timeline 605
Transitions 613
Chapter 19: Video and Audio 627
The Media Class 628
The MediaPlayer Class 630
The MediaView Class 639
Chapter 20: Effects and Blending 651
Effects Overview 651
The JavaFX Effects Classes 656
Blending 686
Lighting 690
Chapter 21: Importing Graphics 703
The JavaFX Production Suite 703
Using Adobe Illustrator and Photoshop Graphics 705
Importing SVG Graphics 733
Chapter 22: Cross-Platform Controls 737
Controls Overview 737
The Label Control 738
Button Controls 749
The TextBox Control 761
The PasswordBox Control 771
The ListView Control 773
The ChoiceBox Control 786
The ScrollBar Control 787
The ScrollView Control 794
The Slider Control 797
The ProgressIndicator and ProgressBar Controls 804
The Separator Control 807
Tooltips 808
Chapter 23: Style Sheets 811
Style Sheet Basics 811
Style Sheet Property Specifications 824
Chapter 24: Using Swing Controls 829
Swing Component Wrappers 829
Labels 833
Text Input 839
Buttons 843
The SwingList Class 849
The SwingScrollPane Class 852
The SwingComboBox Class 854
The SwingSlider Class 857
Using Other Swing Components 860
Chapter 25: Building Custom Controls 865
Custom Nodes 865
The CoordinateGrid Node 866
Custom Containers 869
Custom Controls 887
Chapter 26: Charts 911
Chart Basics 911
Pie Charts 914
Bar Charts 919
Line Charts 926
Area Charts 930
Scatter Charts 932
Bubble Charts 934
Chart Interaction 936
Common Customizations 937
Part IV: Miscellaneous
Chapter 27: Using External Data Sources 949
The HttpRequest Class 950
Using RESTful Web Services 974
RSS and Atom Feeds 995
Tasks and Progress Monitoring 1008
Asynchronous Operations and Database Access 1014
Chapter 28: Packaging and Deployment 1025
Packaging and Deployment for the Desktop 1026
Packaging and Deployment for Mobile Devices 1045
Appendix A: Using JavaFX Command-Line Tools 1049
Development Using Command-Line Tools 1049
Generating Documentation from JavaFX Source 1055
Appendix B: CSS Properties 1061
Properties Applicable to Nodes 1061
Properties Applicable to Shapes 1063
Properties Applicable to Containers 1064
Properties Applicable to Controls 1067
Index 1071