## (sharp, sharp), 52–53
% (percent), 52
/ (slash), 221–222
[ ] (square brackets)
sequence declaration, 45
string translation, 52–53
=> operator, 187
== (equals) operator, 63
gradients, 162–167
lighting, 158–161
PerspectiveTransform
, 174–175
shadowing, 153–157
abstract
classes, 38
abstract functions, 41
access
command-line arguments, 61
JavaScript to JavaFX, 255–256
rights, 35
sequence element, 47
Sodoku application, 334
defined, 36
function declaration, 49
variables and, 42–44
actions
key events, 123
key frames, 185
mouse events, 121–123
ADD BlendMode
, 170–172
Adobe Illustrator
graphic design with, 20–26
total solar eclipse animation, 216–218
Adobe Photoshop, 26–30
alignment
GridLayout
, 115–121
text wrapping, 130–131
animation
custom interpolation, 193–199
interpolation, 189–193
key frames, 185–189
layer, 20–26
Magnify
effect, 317–319
overview, 181–183
path-based, 199–205
solar eclipse example, 205–206
solar eclipse using JavaFX Production Suite, 216–218
solar eclipse using JavaFX shapes, 206–216
summary, 218
timelines, 183–185
anonymous function declaration, 50
Apache Ant
Builds, 12–13
defined, 12
signing JARs, 241
APIs (application programming interfaces)
Java Scripting, 293–299
JMS, 308–311
Yahoo! Web services, 265–266
<applet-desc>
, 242–243
deploying JavaFX as, 235–237
Java Web Start, 256–258
JavaFX and, 235
JavaFX and JavaScript interaction, 251–256
manual generation to support JavaFX, 239–247
NetBeans IDE for JavaFX, 238–239
running Sodoku application as, 334
summary, 258
undocking from browser, 247–250
<application-desc>
, 256–258
application programming interfaces (APIs)
Java Scripting, 293–299
JMS, 308–311
Yahoo! Web services, 265–266
adding multimedia. See multimedia creating new, 2–8
deploying as applets, 235–237
distribution, 8–9
mashup, 273–276
RESTful. See REST (representational state transfer)
Sodoku. See Sodoku application
Arc
, 141–142
architecture
REST, 260–262
Rich Internet Applications, xvi–xvii
service-oriented, 259–260
arguments
accessing command-line, 61
bound functions, 84–85
Java Web Start, 257
arithmetic expressions
binding with, 71–72
in time literals, 186
Array Index Out Of Bounds Exception, 49
arrays
converting to JavaFX sequence, 343–344
JSON, 264–265
native, 48–49
AssignToBoundException
, 77
asynchronous messages, 307–311
at
, 188–189
attr
, 87
attributes
Fader
, 312
HyperText
, 138
Java class extension, 280–282
Java object, 281–282
TextBox, 133–134
audio multimedia, 225–234
autoReverse
, 184–185
background image loading, 220
backgrounds in Illustrator, 20–22
backspace key handling, 123–124
Bair, Richard, xxii
baseline TextOrigin, 127–130
Bessel
, 197–199
bidirectional binding, 77–79
bind with inverse
defined, 67
overview, 77–79
binding
advanced, 80–85
with arithmetic and logical expressions, 71–72
bidirectional, 77–79
block expressions and, 73
coming features, 91–92
conditional expressions and, 72–73
defined, 65–66
Duration
, 186
example, 69–71
for
expressions and, 75–77
to function calls, 74–75
to instance variables, 67–68
Java class extension, 280–281
Java Scripting API with global, 295–296
Sodoku application interface, 339–342
summary, 92
triggers and, 85–90
to variables, 66–67
when variables can, 68–69
blending effects, 170–174
block expressions
binding, 73
bound functions and, 85
defined, 55
mixin
class, 40
blocksMouse
, 121
Bloom
effect, 176–177
BlueSky
object
creating in Illustrator, 20–26
total solar eclipse animation, 206–216
blur effects, 167–169
Board
, 338
BoardNode
, 339–342
Boolean operators, 46
Boolean
types
Java type conversion mappings, 291
JSON, 264–265
mapping JavaFX to Java, 284
Bothner, Per, xxi
bottom Text Origin, 127–130
bound functions, 84–85
boundsInLocal
, 111–115
boundsInParent
, 111–115
boundsInScene
, 111–115
break
loops, 60
Brehovsky, Martin, xxi
brightness
, 180
Brooks, Kelli, xxii
browsers
eQuake Alert, 197
JavaScript for launching JavaFX applets, 244–247
undocking from, 247–250
Bruno, Eric
about, xxiii
thanks, xxii
Build Project, 8
build tools, 12
built-in functions and variables, 61–64
Bulumulle, Gamini, xxii
Button
, 135
Byte
types
Java type conversion mappings, 290
mapping JavaFX to Java, 284
caching, 262
call back, server, 307–311
Campbell, Chris, xxi
Cascading Style Sheets (CSS)
custom controls, 136–139
defined, 99–105
TextBox attributes, 133–134
Certificate Authority, 240
certificates, verified, 240
change triggers, 45
changeable variables, 42–43
changeovers, image, 69–71
Character
types
Java type conversion mappings, 290–291
mapping JavaFX to Java, 284
CheckBox
, 135
choke
, 156
chord Arc
, 141–142
circles, 166–167
Clarke, Jim
about, xxiii
thanks, xxii
classes
binding instance variables, 67–68
CSS selectors, 101
declaration, 36–38
effect. See special effects
Fader
, 311–316
Java, 280–281
JavaFX and XML, 277–278
JavaFX animation. See animation
JavaFX for building REST clients, 266–269
JavaFX Reflection
, 299–302
in JavaFX script, 34–35
Magnify
, 317–319
mapping JavaFX types to Java, 284
Matrix
, 330–332
mixin, 38–40
multimedia. See multimedia progress bar, 325–326
server call back, 308–311
slider, 327–330
Sodoku application design, 338–342
Sodoku application source files, 336–337
triggers and inheritance, 89–90
user interface. See user interfaces
Wizard
, 320–324
client applications, xvi–xvii
ClockUpdater
, 309–310
closing undocked applications, 249–250
code for Sodoku application, 336–337
code recipes
Fader
effect, 311–316
introduction, 303
JavaFX and JavaBeans, 303–307
Magnify
effect, 317–319
matrix, 330–332
progress bar, 325–326
server call back, 307–311
slider, 327–330
summary, 332
wizard framework, 319–324
codebase
, 242
codes, format, 52
ColorAdjust
, 180
colors
CSS, 103
scene, 98–99
special effects, 179–180
columns in GridLayout
, 115–121
ComboBox
, 135
command line
accessing arguments, 61
setting up, 9–13
commands
JavaFX installation, 10–12
manual generation to support JavaFX applets, 239–247
NetBeans IDE, 9
communication with REST, 261
compilation exceptions
binding variables and, 68–69
Java Scripting API with handling, 297–299
compilers
command line, 10–12
Java Scripting API with, 296–297
computer animation. See animation
concatenation, string, 51
conditional expressions
binding, 72–73
defined, 57–58
cones, 163–166
Connors, Jim
about, xxiii
thanks, xxii
consuming RESTful services, 263–264
continue
loops, 60
contrast
, 180
controls
custom, 136–140
JavaFX 1.2, 135–136
layout, 108–111
MediaPlayer
, 230–234
pseudo classes, 102–103
slider, 327–330
TextBox, 132–135
Java to JavaFX, 285–293
SVG, 30–31
Core Video, 225–227
cross-platform multimedia support, 225–227
CSS (Cascading Style Sheets)
custom controls, 136–139
defined, 99–105
TextBox attributes, 133–134
cubic spline, 191–193
CubicCurve
, 143
currentRate
, 184–185
cursors, scene, 99
curve
, 193–195
custom controls, 136–140
custom interpolation, 193–199
custom layouts, 115–121
custom nodes, 206–216
custom Swing components, 147–149
DarkSky
object
creating in Illustrator, 20–26
total solar eclipse animation, 206–216
data caching, 262
data model synchronization with binding. See binding
debugging
classes, 160
JavaFX applet launch, 246
declaration
class, 36–38
function, 49–50
key frame, 187–189
key value, 187
mixin
class, 38–40
object literal, 40–41
sequence, 45–47
declarative languages, 33–34
DECORATED
, 95
def
binding variables, 68–69
defined, 44
deleting sequence elements, 48
deploying JavaFX as applets. See applets
design, Sodoku application, 338–342
desktop launching, 258
DiagnosticCollector
, 298
__DIR__
defined, 63–64
image loading error, 221–222
DirectShow, 225–227
disabled
, 102
DISCRETE
, 190
DisplacementMap
, 178–179
display
image, 219–224
Sodoku application design, 342
user interface. See user interfaces
wizard, 323
dist directory, 8–9
DistantLight
, 158–161
distribution files, 8–9
docked applets, 250
Doench, Greg, xxii
double quotes ("), 50–51
Double
types
Java conversion mappings, 286–287
mapping JavaFX to Java, 284
draggable applets
running Sodoku application as, 334
undocking feature, 248
working with, 246–247
DropShadow
, 153–156
duration
audio and video media, 230
timeline, 185–187
earthquake effects, 197–199
EASE BOTH
, 191
EASE IN
, 191
EASE OUT
, 191
eclipse animation. See solar eclipse
Eclipse IDE
getting started, 1–2
setting up, 13–18
editing text, 132–135
effects. See special effects
Elastic Interpolator, 194–196
elements
accessing sequence, 47
JNLP applet, 241–243
modifying sequence, 47–48
Ellipse
, 142
Ellis, Craig, xxi–xxii
embedding in strings, 51–52
empty sequences, 45
empty stage, 94
eQuake Alert, 197
errors. See exceptions
Eschrich, Dr. Rainer, xxii
evaluating Java Scripting, 293–295
events
input, 121
key, 123–125
listeners, 306–307
mouse, 121–123
PullParser
, 270
triggers, 85–90
Array Index Out Of Bounds, 49
AssignToBoundException
, 77–78
binding variables and, 68–69
handling, 55
image loading, 221–222
Java Null Pointer, 33–34
Java Scripting API with handling, 297–299
media, 227
exporting
layers from Illustrator, 25–26
from Photoshop, 26–30
from SVG, 30–31
expressions
binding. See binding JavaFX script, 55–64
loose, 34–35
Extensible Markup Language (XML). See XML (Extensible Markup Language)
extensions
class, 36–37
GridLayout
, 115–121
image formats, 221
interpolators, 193–199
Java class, 280–282
Java Swing, 145–149
mixin
class, 40
undocking feature, 248
Fader
effect, 311–316
fast play
, 231
Field, Robert, xxii
Fielding, Dr. Roy, 260
__FILE__
, 63–64
files, JAR. See JAR (Java Archive) files
files, JNLP. See JNLP (Java Network Launching Protocol) files
Firefox eQuake Alert, 197
FloatMap
, 178–179
Flood
, 172
focused
defined, 102–103
node indicators, 106
fonts
CSS, 104
text, 132
for
loops
binding, 75–77
defined, 58–59
sequence declaration, 46
using to convert Java types, 292
formats
image, 221
multimedia, 225–227
strings, 52
frameworks
Java. See JavaFX and Java technology
multimedia, 225–227
user interface. See user interfaces
wizard, 319–324
functions
adding run ()
to source files, 160
adding to GridLayout
, 117–119
animation. See animation
binding to calls, 74–75
bound, 84–85
built-in, 61–64
class, 35
creating new Sodoku puzzles, 343–346
invoking with Reflection
, 300–302
Java class extension, 280–281
Java object instantiation, 281–283
JavaFX and JavaBeans, 304–305
JavaFX and JavaScript interaction, 251–256
JavaFX for building REST clients, 266–270
JavaFX script, 49–50
JavaScript for launching JavaFX applets, 244–247
mapping JavaFX to Java, 284–293
in Matrix
, 330–332
mixin
, 38–40
slider, 328–329
FXEvaluator
, 293–295
GaussianBlur
, 167–168
genkey
, 241
geometry
image, 220
layout, 111–115
node, 106
scene, 96–98
stage, 94
TextOrigin, 127–130
GeoNames
defined, 266
mashup application, 273, 275–276
Gilbert, Andy, xxii
global binding, 295–296
Glow
effects, 176–177
Goetz, Brian, xxi–xxii
gradient effects, 162–167
graphic design
Adobe Illustrator CS3, 20–26
Adobe Photoshop CS3, 26–30
JavaFX Production Suite, 20
overview, 19–20
vs. programming, xvi
special effects. See special effects
summary, 31
SVG, 30–31
graphs, scene, 96
GridLayout
, 115–121
creating custom layouts, 121
node, 108
Gupta, Vineet, xxi
handling
backspace key, 123–124
Java Scripting API with, 297–299
HBox
(Horizontal Box) layout, 108–111
Hickey, Shannon, xxii
Horizontal Box (HBox
) layout, 108–111
hover
adding to Magnify
, 317–319
defined, 102
node indicators, 106
HTML pages
deploying JavaFX as applets, 235–237
Java Web Start, 256–258
JavaFX and applets, 235
JavaFX and JavaScript interaction, 251–256
manual generation to support JavaFX, 239–247
NetBeans IDE for JavaFX, 238–239
running Sodoku application as applet, 334
HTTP query URLs, 262–263
hue
, 180
Hyperlink
, 135
HyperText
, 136–139
IDs
CSS, 99–100
JavaScript to JavaFX, 253–254
node, 105
if/else
expressions
binding and, 72–73
defined, 57–58
Illustrator
graphic design with, 20–26
total solar eclipse animation, 216–218
images
changeovers, 69–71
CSS, 105
multimedia, 219–224
path-based animation, 200–205
Sodoku, 336
Sodoku application design, 340–342
indexof
, 76–77
indicators, node, 106
<information>
, 241–243
inheritance
mixin
classes, 38–40
triggers and, 89–90
init
blocks
binding object literals, 80
mixin
classes and, 40
InnerShadow
, 156
inputs
blending, 170–174
defined, 121
key events, 123–125
mouse events, 121–123
with TextBox, 132–135
inserting elements into sequences, 48
installation
command line, 9–13
Eclipse IDE, 13–18
Java Web Start, 256
JavaFX, 1–2
NetBeans IDE, 2–8
instance functions, 49–50
instance variables
adding to GridLayout
, 116
binding object literals, 80–83
binding to, 67–68
blurs, 167–169
color effects, 179–180
connecting to JavaBean properties, 304–307
custom Swing components, 147–149
defined, 41–45
determining update status, 87
DisplacementMap
, 178–179
DropShadow
, 154–156
Fader
, 311–316
Glow
and Bloom
, 176–177
gradient, 162–167
JavaFX and JavaScript interaction, 251–256
JavaFX Reflection
, 300
key frame, 187–189
lighting, 158–161
Magnify
, 317–319
node, 105–106
path-based animation, 199–205
PerspectiveTransform
, 174–175
reflection, 169–170
Sodoku application design, 338–342
Timeline
, 184–185
total solar eclipse animation, 217–218
wizard framework, 320–324
instanceof
, 60–61
instantiation
class, 38
Java object, 281–283
Integer
types
Java conversion mappings, 288–289
mapping JavaFX to Java, 284
sequence declaration, 46
interfaces
API. See APIs (application programming interfaces)
Sodoku application, 334–335
Sodoku application design, 339–342
user. See user interfaces
internationalization, string, 52–54
Interpolatable
, 199
interpolation
animation, 189–193
creating custom, 193–199
defined, 182
key values, 187
timeline, 185
Interpolator
, 197–199
isEquals()
, 63
isInitialized()
, 62–63
isSameObject()
, 63
-jar
, 9
defined, 8–9
NetBeans IDE for JavaFX, 238–239
signed, 239–240
Java
Scripting, 293–299
SE Development KIT (JDK), 1–2
Sodoku application interface with, 342–346
Swing extension, 145–149
Web Start, 256–258
Java Archive (JAR) files
defined, 8–9
NetBeans IDE for JavaFX, 238–239
signed, 239–240
Java Messaging Service (JMS) API, 308–311
Java Network Launching Protocol (JNLP) files
creating with Web Start, 256–258
manual generation to support JavaFX applets, 240–244
NetBeans IDE for JavaFX, 238–239
Java Null Pointer exception, 33–34
JavaBeans
code recipes, 303–307
custom Swing components, 148
JavaFX triggers and, 281
JavaFX
1.2 controls, 135–136
animation. See animation
applets. See applets
application distribution, 8–9
code recipes. See code recipes
coming binding features, 91–92
command line setup, 9–13
CSS support, 99
defined, xv
Eclipse IDE setup, 13–18
graphic design and. See graphic design
HyperText
attributes, 138
installation, 1–2
JavaBeans and, 303–307
NetBeans IDE setup, 2–8
Reflection
, 299–302
REST and, 266–270
summary, 18
TextBox attributes, 133–134
total solar eclipse using shapes, 206–216
why, xvi
XML and, 277–278
classes, 280–281
function parameter and return mapping, 284–293
Java Scripting, 293–299
JavaFX Reflection
, 299–302
objects, 281–283
overview, 279–280
summary, 302
JavaFX Production Suite
graphic design with, 20
total solar eclipse using, 216–218
JavaFX script
basics, 33–34
class declaration, 36–38
expressions and operators, 55–64
functions, 49–50
language, 34–35
mixin
classes, 38–40
object literals, 40–41
sequences, 45–49
strings, 50–54
summary, 64
variables, 41–45
JavaScript
JavaFX interaction, 251–256
JavaFX launching, 244–247
JavaScript Object Notation (JSON)
defined, 264–266
mashup application, 273–276
JMS (Java Messaging Service) API, 308–311
<jnlp>
, 242
JNLP (Java Network Launching Protocol) files
creating with Web Start, 256–258
manual generation to support JavaFX applets, 240–244
NetBeans IDE for JavaFX, 238–239
JSON (JavaScript Object Notation)
defined, 264–266
mashup application, 273–276
JSpinner
, 304–307
JSR-223, 293
JTextField
, 147–149
key pairs, 239–240
key values, 187
keys, 52–54
Label
, 135
languages
JavaFX script, 34–35
JavaScript. See JavaScript
JSON, 264–266
string translation, 52–54
launching
with Java Web Start, 258
JavaFX applets, 244–247
JNLP files. See JNLP (Java Network Launching Protocol) files
layers
Illustrator, 20–26
Photoshop, 26–30
layout
basics, 111–115
custom, 115–121
defined, 93
user interface, 108–111
layoutbounds
, 111–115
lazy binding, 91–92
lighting effects, 158–161
Line
, 140–141
LINEAR
, 190
linear
paint, 103–104
LinearGradient
, 162–166
Linux
JavaFX installation, 10
multimedia frameworks and formats, 225–227
listeners
event, 306–307
message, 308–310
ListView
, 135
literals, object. See object literals
literals, string, 50–51
loading images, 219–224
local variables, 88
logic of Sodoku, 338–339
logical expression binding, 71–72
Long
types
Java type conversion mappings, 287–288
mapping JavaFX to Java, 284
looping expressions, 58–61. See also for
loops
loose expressions
defined, 34–35
exported members and, 61
Mac OS
JavaFX installation, 10
multimedia frameworks and formats, 225–227
Magnify
effect, 317–319
mapping JavaFX to Java, 284–293
Marinacci, Joshua, xxi
mashup applications, 273–276
matrix code recipes, 330–332
media
audio and video, 225–234
images, 219–224
overview, 219
summary, 234
MediaPlayer
, 228–234
Message Oriented Middleware (MOM), 307
messages, asynchronous, 307–311
methods. See functions
mirroring
JavaFX Reflection
, 299–302
reflection effect, 169–170
mixin
classes, 38–40
model synchronization with binding. See binding
modification
sequence, 47–48
triggers and, 85–90
modifiers, access. See access modifiers
MOM (Message Oriented Middleware), 307
Moon
object
creating in Illustrator, 22–26
total solar eclipse animation, 206–216
motion animation. See animation
MotionBlur
, 168–169
mouse events
defined, 121–123
image changeovers, 69–71
Magnify
, 318–319
sliders and, 328
multimedia
audio and video, 225–234
images, 219–224
overview, 219
summary, 234
MULTIPLY BlendMode
, 170–172
muting, 232–233
naming
class declaration, 36–37
Illustrator layers, 20
NASA (National Aeronautics and Space Administration), 222–224
National Aeronautics and Space Administration (NASA), 222–224
native arrays, 48–49
Natures, 15–16
nested for
loops, 58–59
NetBeans IDE
defined, 1–2
vs. Java FX Eclipse plug-in, 17
for JavaFX applets, 238–239
setting up, 2–8
Sodoku application, 336
total solar eclipse animation, 216–218
new
operator, 282–283
newline characters, 130
node effects
defined, 152
Fader
, 311–316
Magnify
, 317–319
nodes
adding CSS, 99–105
layout. See layout
total solar eclipse animation, 206–216
user interface, 105–108
null objects, 33–34
number spinner, 304–307
Number
types
Java type conversion mappings, 286
JSON, 264–265
mapping JavaFX to Java, 284
sequence declaration, 46
binding, 80–83
for CSS class selectors, 101
defined, 40–41
functions and, 50
GridLayout
, 120
Java objects and, 282–283
key frames, 187–189
mapping JavaFX types to Java, 284–285
Timeline
, 183–184
wizard framework, 322
objects
coordinating JavaFX with JavaBeans, 303–307
creating in Illustrator, 20–26
creating media, 227–228
images, 219–224
Java, 281–283
JavaFX, 19
JavaFX script, 33–34
JSON, 264–266
sequences, 45–49
working with in Photoshop, 26–30
Oliver, Chris, xxi
on replace
adding to Magnify
, 317
defined, 85–90
On2VideoVP6, 225–227
opacity
, 106
open Arc
, 141
operating systems, 10
operators
declaring key values, 187
instantiating Java objects, 282–283
JavaFX script, 55–64
native array, 48–49
sequence declaration, 46
ordered lists, 45–49
orientation, path, 201
overridden triggers, 90
override
, 50
package def
, 44
package var
, 44
packages
creating new, 16
defined, 37
JavaScript to JavaFX, 255
Sodoku application, 336
paints, 103–104
parameters
mapping JavaFX to Java, 284–293
Reflection
function invocation, 301–302
parsers
JavaFX and REST, 266–270
JavaFX and XML, 277–278
JSON, 264
in mashup application, 274, 276
passwords, 239–240
path-based animation, 199–205
paths, 144–145
performance
improving image viewing, 222
lazy binding and, 92
perspective
with LinearGradient
, 163–166
PerspectiveTransform
, 174–175
with RadialGradient
, 166–167
Photoshop, 26–30
platforms, JavaFX and Java. See JavaFX and Java technology
playback
audio and video media, 228–234
timeline, 183–185
plug-ins
eQuake Alert, 197
JavaFX Production Suite, 20
running JavaFX on Eclipse, 13–18
PointLight
, 158–161
Polygon
, 140
Popick, Anna, xxii
postinit
blocks
creating custom layouts, 119
mixin
classes and, 40
precedence rules, 243
pressed
defined, 102–103
node indicators, 106
Preview Mode, 5–7
print()
, 62
println()
, 62
Production Suite
getting started, 1–2
graphic design with, 20
SVG Converter tool, 30–31
total solar eclipse using, 216–218
programming vs. graphic design, xvi
progress bars
audio and video media, 230–232
code recipes, 325–326
image loading, 221
ProgressBar
, 135
ProgressIndicator
, 135
projects
creating new with Eclipse, 13–16
creating new with NetBeans, 2–8
NetBeans IDE for JavaFX, 238–239
properties
in animation timeline, 183–185
codebase
, 242
CSS, 103
custom Swing components, 147–149
JavaBean, 281
JavaBeans, 304–307
JavaFX applet launch, 245–246
JNLP applet, 243
layout, 111–115
NetBeans IDE for JavaFX, 238–239
protected def
, 44
protected var
, 44
pseudo classes
CSS, 102–103
custom control support, 136, 138
TextBox controls and, 134
Pub/Sub paradigm, 308
public
classes, 67–68
public def
, 44
public-init protected var
, 44
public-init var
, 44
public-read protected var
, 44
public-read var
, 44
public var
, 44
public variables, 254–255
PullParser
defined, 268–270
JavaFX and XML, 277–278
QName
, 277–278
QuadCurve
, 143–144
radial
paint, 103–104
RadioButton
, 135
ranges, 46
recalculation, bind
defined, 71–72
object literals and, 80–83
recipes, code. See code recipes
recreating objects with binding, 80–83
redocking, 250
Reflection
defined, 299–302
effects, 169–170
using to convert Java types, 292–293
registering fonts, 132
RemoteTextDocument
, 266–268
representational state transfer (REST). See REST (representational state transfer)
resizing
scene, 96–98
stage, 94
<resources>
, 242–243
response-types, REST, 263
REST (representational state transfer)
building system, 262–264
defined, 259–262
JavaFX and, 266–270
JavaFX and XML, 277–278
JSON and, 264–266
mashup application, 273–276
summary, 278
weather widget, 270–273
return
, 50
rewinding, 230–231
Rich Internet Applications, xvi–xvii
rights, access, 35
Rivera, Myrna, xxii
rotating text, 126–127
round Arc
, 141–142
rows, GridLayout
, 115–121
run
functions
adding to source files, 160
running
, 184
runtime exceptions, 68–69
saturation
, 180
saving
Illustrator files, 26
Photoshop files, 29–30
Scalable Vector Graphics (SVG)
gradients, 162–167
graphic design with, 30–31
path-based animation, 199–205
scene
CSS, 99–105
defined, 93
input events, 121
user interface, 96–99
weather widget structure, 271–272
ScriptException
, 298–299
scripts
creating new with Eclipse, 16–18
functions, 49–50
Java Scripting, 293–299
JavaFX. See JavaFX script
JavaScript. See JavaScript
variables, 41–45
visibility, 36
ScrollBar
, 136
SDK (Software Development Kit), 1–2
security, 238
<security>
, 242–243
seek
, 231
SepiaTone
, 179
sequences
binding, 75–77
converting to array to, 343–344
Java type conversion mappings, 291–292
JavaFX script, 45–49
for
loops and, 58–59
matrices and, 330–332
synchronization with triggers, 87–89
wizard framework, 320–324
server call back, 307–311
service-oriented architecture (SOA), 259–260
shadowing effects, 153–157
shaking effects, 197–199
ShapeIntersect
, 163–164
shapes
defined, 140–144
paths, 144–145
text, 125–132
total solar eclipse using, 206–216
Short
types
Java type conversion mappings, 289
mapping JavaFX to Java, 284
signed JAR, 239–241
Simple Object Access Protocol (SOAP), 259–260
SimpleInterpolator
, 193–196
single quotes (’), 50–51
sizing
CSS font, 104
images, 220
stage, 94
Skins
creating custom, 136–139
progress bar, 325–326
slider, 327–330
sliders
code recipes, 327–330
defined, 135
smooth
, 222
SOA (service-oriented architecture), 259–260
SOAP (Simple Object Access Protocol), 259–260
Sodoku application
access, 334
design, 338–342
interface, 334–335
interfacing with Java components, 342–346
overview, 333
source code, 336–337
summary, 346
Software Development Kit (SDK), 1–2
animation, 205–206
creating in Illustrator, 206–216
using JavaFX Production Suite, 216–218
using JavaFX shapes, 206–216
Solaris, 10
source code for Sodoku application, 336–337
source files
adding run ()
to, 160
Sodoku application, 336–337
Sourceforge.net, 343
Space
, 338
SpaceNode
, 339–342
special effects
blending, 170–174
blurs, 167–169
color adjustment, 179–180
DisplacementMap
, 178–179
Fader
, 311–316
Glow
and Bloom
, 176–177
gradients, 162–167
lighting, 158–161
Magnify
, 317–319
overview, 151–152
PerspectiveTransform
, 174–175
reflection, 169–170
shadowing, 153–157
summary, 180
SPLINE
, 191–193
SpotLight
, 158–161
square brackets ([ ])
sequence declaration, 45
string translation, 52–53
SRC BlendModes
, 173–174
stage, 93–96
standard interpolators, 190–193
states
coordinating JavaFX with JavaBeans, 303–307
synchronization with triggers, 87
transfer. See REST (representational state transfer)
Stillabower, Scott, xxi
String
types
CSS, 102
Java type conversion mappings, 291
JavaFX script, 50–54
JSON, 264–265
mapping JavaFX to Java, 284
styles
CSS, 99–105
scene, 98–99
setting stage, 95–96
sub timelines, 188
subclasses, 39–40
Subscriber
, 308–311
subtotal values, 55
Sun Burst
object
creating in Illustrator, 22–26
total solar eclipse animation, 206–216
support
custom control, 136
image formats, 221
JavaFX for CSS, 99
media format, 225–227
Production Suite, 20
Web services for JSON, 265–266
SVG (Scalable Vector Graphics)
gradients, 162–167
graphic design with, 30–31
path-based animation, 199–205
SVGPath
, 144–145
Swing extension
defined, 145–149
number spinner, 304–307
synchronization
with binding. See binding
coordinating JavaFX with JavaBeans, 303–307
with triggers, 85–90
systems, RESTful, 262–264
tags, 241–243
tar, 9
technology, Java FX and Java. See JavaFX and Java technology
text
in progress bar, 325–326
user interface, 125–132
TextBox, 132–135
TextOrigin, 127–130
“thin” client systems, xvi
threads
asynchronous messages, 308
JavaFX and Java, 301
three-dimensional effects. See 3D effects
throw
, 55
Tijerino, Manuel, xxii
time literals, 185–187
timelines
animation, 183–185
defined, 181–182
Fader
effect, 313–314
Magnify
, 317
solar eclipse, 214–216
ToggleButton
, 136
tools
animation. See animation
distribution files, 9
getting started, 1–2
graphic design. See graphic design
top TextOrigin, 127–130
Torgersson, Olof, 33
total solar eclipse. See solar eclipse
Totality
types
creating in Illustrator, 22–26
total solar eclipse animation, 206–216
trailing slashes, 64
transfer, state. See REST (representational state transfer)
transforms
layout bound, 112
node, 106
PerspectiveTransform
, 174–175
transitions, Fader
, 311–316
TRANSPARENT
, 95–96
traveling animation, 199–205
tree structure
nodes, 105
scene, 96
triggers
adding to Magnify
, 317
change, 45
Java class extension, 280–281
overview, 85–90
sequence declaration, 46
try/catch/finally
expression, 55
tweening
key values, 187
two-dimensional arrays, 343–344
types
Fade
, 312
JSON, 264–265
mapping JavaFX to Java, 284–293
operators, 60–61
variable, 42–43
unassignable variables, 42–43
unchangeable variables, 42–43
UNDECORATED
, 95–96
undocking feature, 247–250
unicode characters, 51
unidirectional binding
vs. bidirectional binding, 77–78
defined, 66–67
updating variables, 87
URLs, 262–263
custom controls, 136–140
custom layout, 115–121
defined, 93
input events, 121
Java Swing extension, 145–149
JavaFX 1.2 controls, 135–136
key events, 123–125
layout, 108–111
layout basics, 111–115
mouse events, 121–123
nodes, 105–108
paths, 144–145
scene, 96–99
shapes, 140–144
stage, 93–96
style sheets, 99–105
summary, 150
text, 125–132
TextBox, 132–135
values, key, 187
var
binding variables, 68–69
defined, 44
variables
adding triggers, 85–90
audio and video media, 227–234
bind with inverse, 77–79
binding to, 66–67
binding to instance, 67–68
built-in, 61–64
class, 35
creating custom controls, 136–139
CSS, 99–105
custom interpolation, 193–199
Duration
, 185–187
image, 220–224
interpolation, 189–193
JavaFX script, 41–45
Matrix
, 330–332
mixin inheritance and, 39–40
slider, 327–330
TextBox, 133
when they cam be bound, 68–69
VBox (Vertical Box) layout, 108–111
verified certificates, 240
versions, JavaFX, xx
Vertical Box (VBox) layout, 108–111
video, 225–234
viewing
images, 222–224
multimedia, 228–234
Sodoku application design, 342
viewports, 224
visible
defining nodes, 106
Fader
, 312–313
volume, 233
W3C (World Wide Web Consortium)
on gradients, 162
SVG and, 30
weather widget
building, 270–273
as mashup application, 273–276
Web pages
adding JavaFX with applets. See applets
deploying JavaFX as applets, 235–237
Java Web Start, 256–258
JavaFX and applets, 235
JavaFX and JavaScript interaction, 251–256
manual generation to support JavaFX, 239–247
NetBeans IDE for JavaFX, 238–239
running Sodoku application as applet, 334
Web Service Definition Language (WSDL), 259–260
Web services
defined, 259–260
GeoNames, 266
mashup application, 273–276
REST and, 260–262
Yahoo!, 265–266
Web Start, 256–258
while
loops, 59
whole object binding, 80–83
widgets, weather
JavaFX, 270–273
as mashup application, 273–276
Wielenga, Geertjan, xxi–xxii
Windows
JavaFX installation, 10
multimedia frameworks and formats, 225–227
wizards
code recipe, 319–324
JavaFX installation, 17
World Wide Web Consortium (W3C)
on gradients, 162
SVG and, 30
wrapping text, 130–131
WSDL (Web Service Definition Language), 259–260
XML (Extensible Markup Language)
JavaFX and, 277–278
JNLP file generation, 241–244
SOA and, 259–260
SVG and, 30
The Yahoo! User Interface Library (YUI), 194
Yahoo! Web services
defined, 265–266
mashup application, 273–275
zip, 9