Beruflich Dokumente
Kultur Dokumente
Liang, Introduction to Java Programming, Tenth Edition, (c) 2015 Pearson Education, Inc. All
rights reserved.
1
Motivaciones
Una interfaz gráfica de usuario (GUI) hace que un
sistema sea amigable y fácil de usar. Crear una
GUI requiere creatividad y conocimiento de cómo
funcionan los componentes GUI. Dado que estos
componentes en Java son muy flexibles y
versátiles, puede crear una gran variedad de
interfaces de usuario útiles.
Los capítulos anteriores introdujimos brevemente
varios componentes GUI. Este capítulo presenta
los componentes de la GUI usados frecuentemente
en detalle.
Liang, Introduction to Java Programming, Tenth Edition, (c) 2015 Pearson Education, Inc. All
rights reserved.
2
Objetivos
Crear interfaces gráficas de usuario con varios controles de interfaz de usuario.
Crear una etiqueta de texto y grafico usando la clase Label y explorando las propiedades de la clase
abstracta Labeled.
Crear un botón con texto y gráficos usando la clase Button y establecer un controlador utilizando el
método setOnAction en la clase abstracta ButtonBase .
Crear una casilla de verificación usando la clase CheckBox .
Crear un botón de opción, usando la clase RadioButton y un grupo de RadioButton usando un
objeto ToggleGroup.
Introducir datos usando la clase TexField y contraseñas usando la clase PasswordField.
Introducir datos en múltiples líneas usando la clase TextArea.
Seleccionar un solo elemento usando ComboBox.
Seleccionar un solo elemento o varios elementos usando ListView .
Seleccionar un rango de valores usando ScrollBar.
Seleccionar un rango de valores usando Slider y explorar las diferencias entre ScrollBar y Slider
Desarrollar el juego de tres en raya.
Para ver y reproducir video y audio usando Media, MediaPlayer y MediaView.
Desarrollar un caso práctico para la bandera nacional y el himno.
Liang, Introduction to Java Programming, Tenth Edition, (c) 2015 Pearson Education, Inc. All
rights reserved.
3
Controles UI más comunes
Liang, Introduction to Java Programming, Tenth Edition, (c) 2015 Pearson Education, Inc. All
rights reserved.
5
Label
La clase Label define Etiquetas.
LabelWithGraphic
Liang, Introduction to Java Programming, Tenth Edition, (c) 2015 Pearson Education, Inc. All
rights reserved.
6
ButtonBase and Button
Un botón es un disparador que activa un evento de acción cuando
se hace clic. JavaFX proporciona botones regulares, de palanca,
check-box y radiobutons Las características comunes de estos
botones se definen en las clases ButtonBase y Labeled.
Liang, Introduction to Java Programming, Tenth Edition, (c) 2015 Pearson Education, Inc. All
rights reserved.
7
Ejemplo con button
ButtonDemo Run
Liang, Introduction to Java Programming, Tenth Edition, (c) 2015 Pearson Education, Inc. All
rights reserved.
8
CheckBox
Un CheckBox se usa para que el usuario haga una selección. Al
igual que Button, CheckBox hereda todas las propiedades
onAction, text, graphic, alignment, graphicTextGap, textFill,
contentDisplay de ButtonBase y Labeled..
Liang, Introduction to Java Programming, Tenth Edition, (c) 2015 Pearson Education, Inc. All
rights reserved.
9
Ejemplo con CheckBox
CheckBoxDemo Run
Liang, Introduction to Java Programming, Tenth Edition, (c) 2015 Pearson Education, Inc. All
rights reserved.
10
RadioButton
Los radio-buttons conocidos como botones de opción, le permiten
seleccionar un solo elemento de un grupo de opciones. Muestran un
circulo relleno (si está seleccionado) o en blanco (si no lo está).
Los métodos getter y setter para valores property y getter
para property propio se proporcionan en la clase, pero se
omiten en el diagrama UML para abreviar.
Liang, Introduction to Java Programming, Tenth Edition, (c) 2015 Pearson Education, Inc. All
rights reserved.
11
Ejemplo de RadioButton
RadioButtonDemo Run
Liang, Introduction to Java Programming, Tenth Edition, (c) 2015 Pearson Education, Inc. All
rights reserved.
12
TextField
Un campo de texto se puede usar para ingresar o mostrar una
cadena. TextField es una subclase de TextInputControl.
Liang, Introduction to Java Programming, Tenth Edition, (c) 2015 Pearson Education, Inc. All
rights reserved.
13
Ejemplo de TextField
TextFieldDemo Run
Liang, Introduction to Java Programming, Tenth Edition, (c) 2015 Pearson Education, Inc. All
rights reserved.
14
TextArea
TextArea permite al usuario ingresar múltiples líneas de texto.
Liang, Introduction to Java Programming, Tenth Edition, (c) 2015 Pearson Education, Inc. All
rights reserved.
15
Ejemplo con TextArea
Liang, Introduction to Java Programming, Tenth Edition, (c) 2015 Pearson Education, Inc. All
rights reserved.
17
Ejemplo con ComboBox
Este ejemplo permite a los usuarios ver una
imagen del indicador de un país seleccionando el
país desde un cuadro combinado.
ComboBoxDemo Run
Liang, Introduction to Java Programming, Tenth Edition, (c) 2015 Pearson Education, Inc. All
rights reserved.
18
ListView
list view es un control que funciona básicamente como un cuadro
combinado, pero permite al usuario elegir un solo valor o varios valores.
Liang, Introduction to Java Programming, Tenth Edition, (c) 2015 Pearson Education, Inc. All
rights reserved.
19
Ejemplo: Uso de ListView
Este ejemplo
proporciona un
programa que
permite a los
usuarios seleccionar
países en una lista y
mostrar las banderas
de países
seleccionados en las
etiquetas. ListViewDemo Run
Liang, Introduction to Java Programming, Tenth Edition, (c) 2015 Pearson Education, Inc. All
rights reserved.
20
ScrollBar
ScrollBar es un control que permite a los usuarios seleccionar entre un rango de
valores. La barra de desplazamiento aparece en dos estilos: horizontal y vertical.
Liang, Introduction to Java Programming, Tenth Edition, (c) 2015 Pearson Education, Inc. All
rights reserved.
21
Propiedades de Scroll Bar
Liang, Introduction to Java Programming, Tenth Edition, (c) 2015 Pearson Education, Inc. All
rights reserved.
22
Ejemplo: Uso de Scrollbars
Este ejemplo utiliza barras de
desplazamiento horizontales
y verticales para controlar un
mensaje que se muestra en un
panel. La barra de
desplazamiento horizontal se
usa para mover el mensaje
hacia la izquierda o hacia la
derecha, y la barra de
desplazamiento vertical para
moverlo hacia arriba y hacia
abajo. ScrollBarDemo Run
Liang, Introduction to Java Programming, Tenth Edition, (c) 2015 Pearson Education, Inc. All
rights reserved.
23
Slider
Slider es similar a ScrollBar, pero Slider tiene más
propiedades y puede aparecer en muchas formas.
Liang, Introduction to Java Programming, Tenth Edition, (c) 2015 Pearson Education, Inc. All
rights reserved.
24
Ejemplo: Uso de Sliders
Vuelva a escribir el
programa anterior
utilizando los controles
deslizantes para controlar
un mensaje que se
muestra en una pantalla
en lugar de usar barras de
desplazamiento.
Liang, Introduction to Java Programming, Tenth Edition, (c) 2015 Pearson Education, Inc. All
rights reserved.
25
Caso práctico: Bounce Ball
Programa que muestra una pelota que rebota. Puedes
agregar un control deslizante para la velocidad del
movimiento de la pelota.
SliderDemo Run
Liang, Introduction to Java Programming, Tenth Edition, (c) 2015 Pearson Education, Inc. All
rights reserved.
26
Caso práctico: TicTacToe
javafx.scene.layout.Pane
-char token
+getToken Cell
+setToken
-token: char Token utilizado en la celda (predet: ‘ ‘).
+paintComponet
+mouseClicked
+getToken(): char
Devuelve el token en la celda.
+setToken(token: char): void Establece un nuevo token en la celda.
-handleMouseClick(): void Maneja un evento de clic del mouse.
Liang, Introduction to Java Programming, Tenth Edition, (c) 2015 Pearson Education, Inc. All
rights reserved.
27
Case práctico: TicTacToe, cont.
TicTacToe Run
Liang, Introduction to Java Programming, Tenth Edition, (c) 2015 Pearson Education, Inc. All
rights reserved.
28
Media
Podemos utilizar la clase Media para obtener la fuente de los medios, la clase
MediaPlayer para reproducir y controlar los medios, y la clase MediaView para
visualizar un vídeo.
Los métodos getter y setter para valores property y
getter para property propio se proporcionan en la clase,
pero se omiten en el diagrama UML para abreviar.
Liang, Introduction to Java Programming, Tenth Edition, (c) 2015 Pearson Education, Inc. All
rights reserved.
29
MediaPlayer
La clase MediaPlayer reproduce y controla los medios con propiedades como
autoPlay, currentCount, cycleCount, mute, volume, y totalDuration.
Liang, Introduction to Java Programming, Tenth Edition, (c) 2015 Pearson Education, Inc. All
rights reserved.
30
MediaView
La clase MediaView es una subclase de Node que proporciona una vista de los
medios reproducidos por un MediaPlayer. La clase MediaView proporciona las
propiedades para ver los medios.
Liang, Introduction to Java Programming, Tenth Edition, (c) 2015 Pearson Education, Inc. All
rights reserved.
31
Ejemplo: Uso de Media
Este ejemplo muestra un video
en una vista. Puede utilizar el
botón de reproducción/pausa
para reproducir o pausar el video
y utilizar el botón de rebobinado
para reiniciar el video, y utilizar
el control deslizante para
controlar el volumen del audio
MediaDemo Run
Liang, Introduction to Java Programming, Tenth Edition, (c) 2015 Pearson Education, Inc. All
rights reserved.
32
Case práctico: National Flags and
Anthems
Este caso práctico presenta un programa que muestra la
bandera de un país y reproduce su himno.
FlagAnthem Run
Liang, Introduction to Java Programming, Tenth Edition, (c) 2015 Pearson Education, Inc. All
rights reserved.
33