16 Slide

Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 35

CS 112 Programming 2

Lecture 16
JavaFX UI Controls & Multimedia (1)

Liang, Introduction to Java Programming, Tenth Edition, (c) 2015 Pearson Education, Inc. All
rights reserved.
Chapter 16
JavaFX UI Controls and
Multimedia

Liang, Introduction to Java Programming, Tenth Edition, (c) 2015 Pearson Education, Inc. All
rights reserved. 2
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.

Previous chapters briefly introduced several GUI components.


This chapter introduces the frequently used GUI components
in detail.

Liang, Introduction to Java Programming, Tenth Edition, (c) 2015 Pearson Education, Inc. All
rights reserved. 3
Objectives
 To create graphical user interfaces with various user-interface controls (§§16.2–16.11).
 To create a label with text and graphic using the Label class and explore properties in the abstract
Labeled class (§16.2).
 To create a button with text and graphic using the Button class and set a handler using the
setOnAction method in the abstract ButtonBase class (§16.3).
 To create a check box using the CheckBox class (§16.4).
 To create a radio button using the RadioButton class and group radio buttons using a ToggleGroup
(§16.5).
 To enter data using the TextField class and password using the PasswordField class (§16.6).
 To enter data in multiple lines using the TextArea class (§16.7).
 To select a single item using ComboBox (§16.8).
 To select a single or multiple items using ListView (§16.9).
 To select a range of values using ScrollBar (§16.10).
 To select a range of values using Slider and explore differences between ScrollBar and Slider
(§16.11).
 To develop a tic-tac-toe game (§16.12).
 To view and play video and audio using the Media, MediaPlayer, and MediaView (§16.13).
 To develop a case study for showing the national flag and play anthem (§16.14).

Liang, Introduction to Java Programming, Tenth Edition, (c) 2015 Pearson Education, Inc. All
rights reserved. 4
Frequently Used UI Controls

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
Liang, Introduction to Java Programming, Tenth Edition, (c) 2015 Pearson Education, Inc. All
rights reserved. 5
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)
 Label and Button share many common properties. These common
properties are defined in the Labeled class

A graphic or
text or both
can be placed
in Labeled

Liang, Introduction to Java Programming, Tenth Edition, (c) 2015 Pearson Education, Inc. All
rights reserved. 6
Label

LabelWithGraphic Run
Liang, Introduction to Java Programming, Tenth Edition, (c) 2015 Pearson Education, Inc. All
rights reserved. 7
ButtonBase & Button
A button triggers an event when clicked. JavaFX provides regular
buttons, toggle buttons, check boxes & radio buttons. The common
features of these buttons are defined in ButtonBase & Labeled

Liang, Introduction to Java Programming, Tenth Edition, (c) 2015 Pearson Education, Inc. All
rights reserved. 8
Example: Button

ButtonDemo Run

Liang, Introduction to Java Programming, Tenth Edition, (c) 2015 Pearson Education, Inc. All
rights reserved. 9
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

Liang, Introduction to Java Programming, Tenth Edition, (c) 2015 Pearson Education, Inc. All
rights reserved. 10
Example: CheckBox

CheckBoxDemo Run

Liang, Introduction to Java Programming, Tenth Edition, (c) 2015 Pearson Education, Inc. All
rights reserved. 11
RadioButton
Radio buttons, also known as option buttons, enable us 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)

Liang, Introduction to Java Programming, Tenth Edition, (c) 2015 Pearson Education, Inc. All
rights reserved. 12
Example: RadioButton

RadioButtonDemo Run

Liang, Introduction to Java Programming, Tenth Edition, (c) 2015 Pearson Education, Inc. All
rights reserved. 13
TextField
 A TextField can be used to enter or display a string
 TextField is a subclass of TextInputControl

Liang, Introduction to Java Programming, Tenth Edition, (c) 2015 Pearson Education, Inc. All
rights reserved. 14
Example: TextField

TextFieldDemo Run

Liang, Introduction to Java Programming, Tenth Edition, (c) 2015 Pearson Education, Inc. All
rights reserved. 15
TextArea
A TextArea enables the user to enter multiple lines of text

Liang, Introduction to Java Programming, Tenth Edition, (c) 2015 Pearson Education, Inc. All
rights reserved. 16
Example: TextArea

DescriptionPane TextAreaDemo Run


Liang, Introduction to Java Programming, Tenth Edition, (c) 2015 Pearson Education, Inc. All
rights reserved. 17
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

Liang, Introduction to Java Programming, Tenth Edition, (c) 2015 Pearson Education, Inc. All
rights reserved. 18
Example: ComboBox
This example lets users view an image and a description of a
country's flag by selecting the country from a combo box

ComboBoxDemo Run

Liang, Introduction to Java Programming, Tenth Edition, (c) 2015 Pearson Education, Inc. All
rights reserved. 19
ListView
A ListView is a component that performs basically the same
function as a combo box, but it enables the user to choose a single
value as well as multiple values

Liang, Introduction to Java Programming, Tenth Edition, (c) 2015 Pearson Education, Inc. All
rights reserved. 20
Example: ListView
This program lets users select countries in a list and
displays the flags of the selected countries in the labels

ListViewDemo Run

Liang, Introduction to Java Programming, Tenth Edition, (c) 2015 Pearson Education, Inc. All
rights reserved. 21
CS 112 Programming 2

Lecture 17
JavaFX UI Controls & Multimedia (2)

Liang, Introduction to Java Programming, Tenth Edition, (c) 2015 Pearson Education, Inc. All
rights reserved.
ScrollBar
A ScrollBar is a control that enables the user to select from a range of
values. The scrollbar appears in two styles: horizontal, vertical

Liang, Introduction to Java Programming, Tenth Edition, (c) 2015 Pearson Education, Inc. All
rights reserved. 23
Properties: ScrollBar

Liang, Introduction to Java Programming, Tenth Edition, (c) 2015 Pearson Education, Inc. All
rights reserved. 24
Example: ScrollBar
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

Liang, Introduction to Java Programming, Tenth Edition, (c) 2015 Pearson Education, Inc. All
rights reserved. 25
Slider
Slider is similar to ScrollBar, but Slider has
more properties and can appear in many forms

Liang, Introduction to Java Programming, Tenth Edition, (c) 2015 Pearson Education, Inc. All
rights reserved. 26
Example: Slider
Rewrite of the preceding ScrollBar example using the
Slider to control a message displayed on a panel

SliderDemo Run

Liang, Introduction to Java Programming, Tenth Edition, (c) 2015 Pearson Education, Inc. All
rights reserved. 27
Case Study: Bounce Ball
Listing 15.17 gives a program that displays a bouncing ball. We
can add a Slider to control the speed of the ball movement

BounceBallSliderDemo Run

Liang, Introduction to Java Programming, Tenth Edition, (c) 2015 Pearson Education, Inc. All
rights reserved. 28
Case Study: TicTacToe

javafx.scene.layout.Pane
-char token

+getToken Cell
+setToken
-token: char Token used in the cell (default: ' ').
+paintComponet
+mouseClicked
+getToken(): char Returns the token in the cell.
+setToken(token: char): void Sets a new token in the cell.
-handleMouseClick(): void Handles a mouse click event.

Liang, Introduction to Java Programming, Tenth Edition, (c) 2015 Pearson Education, Inc. All
rights reserved. 29
Case Study: TicTacToe (cont.)

TicTacToe Run

Liang, Introduction to Java Programming, Tenth Edition, (c) 2015 Pearson Education, Inc. All
rights reserved. 30
We can use the:
Media
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
JavaFX supports:
MP3, AIFF, WAV, and MPEG-4 audio formats
FLV and MPEG-4 video formats

Liang, Introduction to Java Programming, Tenth Edition, (c) 2015 Pearson Education, Inc. All
rights reserved. 31
MediaPlayer
The MediaPlayer class plays and controls the media with properties
such as autoPlay, currentCount, cycleCount, mute, volume,
and totalDuration

Liang, Introduction to Java Programming, Tenth Edition, (c) 2015 Pearson Education, Inc. All
rights reserved. 32
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

Liang, Introduction to Java Programming, Tenth Edition, (c) 2015 Pearson Education, Inc. All
rights reserved. 33
Example: Media, MediaPlayer &
MediaView
This example displays a
video in a window. We can
use the:
 play/pause button to play
or pause the video
 rewind button to restart
the video
 slider to control the
volume of the audio
http://www.eclipsecat.com/sites/default/files/small.mp4

MediaDemo Run
Liang, Introduction to Java Programming, Tenth Edition, (c) 2015 Pearson Education, Inc. All
rights reserved. 34
Case Study: Flags & Anthems
This program displays a nation’s flag and plays its anthem

FlagAnthem Run

Liang, Introduction to Java Programming, Tenth Edition, (c) 2015 Pearson Education, Inc. All
rights reserved. 35

You might also like