16 JavaFX UI Controls and Multimedia
16 JavaFX UI Controls and Multimedia
1
Motivations
A graphical user interface (GUI) makes a system
user-friendly and easy to use. Creating a GUI
requires creativity and knowledge of how GUI
components work. Since the GUI components in
Java are very flexible and versatile, you can create
a wide assortment of useful user interfaces.
3
Frequently Used UI Controls
Throughout this book, the prefixes lbl, bt, chk, rb, tf, pf, ta, cbo, lv,
scb, sld, and mp are used to name reference variables for Label,
Button, CheckBox, RadioButton, TextField, PasswordField,
TextArea, ComboBox, ListView, ScrollBar, Slider, and
MediaPlayer.
4
Labeled
A label is a display area for a short text, a node, or both. It is often used to label
other controls (usually text fields). Labels and buttons share many common
properties. These common properties are defined in the Labeled class.
5
Label
The Label class defines labels.
LabelWithGraphic Run
6
ButtonBase and Button
A button is a control that triggers an action event when clicked. JavaFX provides
regular buttons, toggle buttons, check box buttons, and radio buttons. The common
features of these buttons are defined in ButtonBase and Labeled classes.
7
Button Example
ButtonDemo Run
8
CheckBox
A CheckBox is used for the user to make a selection. Like Button, CheckBox
inherits all the properties such as onAction, text, graphic, alignment,
graphicTextGap, textFill, contentDisplay from ButtonBase and Labeled.
9
CheckBox Example
CheckBoxDemo Run
10
RadioButton
Radio buttons, also known as option buttons, enable you to choose a single item from
a group of choices. In appearance radio buttons resemble check boxes, but check
boxes display a square that is either checked or blank, whereas radio buttons display
a circle that is either filled (if selected) or blank (if not selected).
11
RadioButton Example
RadioButtonDemo Run
12
TextField
A text field can be used to enter or display a string. TextField is a
subclass of TextInputControl.
13
TextField Example
TextFieldDemo Run
14
TextArea
A TextArea enables the user to enter multiple lines of text.
15
TextArea Example
DescriptionPane
TextAreaDemo Run
16
ComboBox
A combo box, also known as a choice list or drop-down list, contains a list of items from
which the user can choose.
17
ComboBox Example
ComboBoxDemo Run
18
ListView
19
Example: Using ListView
This example gives a
program that lets
users select
countries in a list
and display the flags
of the selected
countries in the
labels.
ListViewDemo Run
20
ScrollBar
A scroll bar is a control that enables the user to select from a range of values. The
scrollbar appears in two styles: horizontal and vertical.
21
Scroll Bar Properties
22
Example: Using Scrollbars
This example uses
horizontal and vertical
scrollbars to control a
message displayed on a
panel. The horizontal
scrollbar is used to move
the message to the left or
the right, and the vertical
scrollbar to move it up and
down.
ScrollBarDemo Run
23
Slider
Slider is similar to ScrollBar, but Slider has more properties
and can appear in many forms.
24
Example: Using Sliders
Rewrite the preceding
program using the sliders
to control a message
displayed on a panel
instead of using scroll
bars.
SliderDemo Run
25
Case Study: Bounce Ball
Listing 15.17 gives a program that displays a bouncing ball.
You can add a slider to control the speed of the ball
movement.
27
Case Study: TicTacToe, cont.
TicTacToe Run
28
Media
You can use the Media class to obtain the source of the media, the MediaPlayer class to
play and control the media, and the MediaView class to display the video.
29
MediaPlayer
The MediaPlayer class playes and controls the media with properties such as autoPlay,
currentCount, cycleCount, mute, volume, and totalDuration.
30
MediaView
The MediaView class is a subclass of Node that provides a view of the Media
being played by a MediaPlayer. The MediaView class provides the properties for
viewing the media.
31
Example: Using Media
This example displays a
video in a view. You can use
the play/pause button to
play or pause the video and
use the rewind button to
restart the video, and use
the slider to control the
volume of the audio.
MediaDemo Run
32
Case Study: National Flags and Anthems
This case study presents a program that displays a
nation’s flag and plays its anthem.
FlagAnthem Run
33