Saltar a contenido

Controles en JavaFX

JavaFX permite crear aplicaciones utilizando componentes GUI. Una aplicación con una GUI realiza tres tareas:

  • Acepta entradas del usuario a través de dispositivos de entrada como un teclado, un ratón, pantalla táctil…
  • Procesa las entradas (o realiza acciones basadas en la entrada).
  • Muestra salidas.

La GUI1 proporciona un medio para intercambiar información en términos de entrada y salida entre una aplicación y sus usuarios. Ingresar texto usando un teclado, seleccionar un elemento de menú usando un ratón, hacer clic en un botón u otras acciones son ejemplos de cómo proporcionar entrada a una aplicación GUI. La aplicación muestra los resultados en un monitor de computadora usando texto, gráficos, cuadros de diálogo, etc.

JavaFX proporciona un amplio conjunto de controles fáciles de usar. Los controles se agregan a los paneles de diseño que los colocan y dimensionan. Los paneles de diseño se discutieron en capítulos anteriores. Ahora se describirá cómo usar los controles disponibles en JavaFX.

Cada control en JavaFX está representado por una instancia de una clase. Las clases de control se incluyen en el paquete javafx.scene.control. Una clase de control es una subclase, directa o indirecta, de la clase Control, que a su vez hereda de la Region.

Controles JavaFX

Resumen de controles

Hay una gran variedad, y es recomendable investigarlos, a continuación se muestra un resumen.

Control Descripción Ejemplo de Uso
Label Muestra texto estático en la interfaz. Label label = new Label("Hola, Mundo!");
Button Botón que puede ser presionado para realizar una acción. Button button = new Button("Click Me");
TextField Campo de texto para ingresar una sola línea de texto. TextField textField = new TextField();
TextArea Campo de texto para ingresar varias líneas de texto. TextArea textArea = new TextArea();
CheckBox Casilla de verificación para seleccionar o deseleccionar una opción. CheckBox checkBox = new CheckBox("Aceptar términos");
RadioButton Botón de opción que pertenece a un grupo de opciones mutuamente excluyentes. RadioButton radioButton = new RadioButton("Opción 1");
ToggleButton Botón que alterna entre estados activado y desactivado. ToggleButton toggleButton = new ToggleButton("Activar");
ComboBox Menú desplegable para seleccionar un elemento de una lista. ComboBox<String> comboBox = new ComboBox<>();
ListView Lista de elementos que se pueden seleccionar. ListView<String> listView = new ListView<>();
TableView Tabla para mostrar datos tabulares. TableView<Person> tableView = new TableView<>();
ProgressBar Barra de progreso para indicar el estado de una operación. ProgressBar progressBar = new ProgressBar(0.5);
Slider Control deslizante para seleccionar un valor numérico dentro de un rango. Slider slider = new Slider(0, 100, 50);
DatePicker Selector de fechas que permite elegir una fecha del calendario. DatePicker datePicker = new DatePicker();
TreeView Estructura jerárquica de elementos en forma de árbol. TreeView<String> treeView = new TreeView<>();
ScrollPane Contenedor con barras de desplazamiento. ScrollPane scrollPane = new ScrollPane(new Label("Texto largo"));
TabPane Contenedor con pestañas para organizar múltiples vistas. TabPane tabPane = new TabPane(new Tab("Pestaña 1"));

Ejemplo de uso

import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.VBox;
import javafx.stage.Stage;

public class JavaFXExample extends Application {
    @Override
    public void start(Stage primaryStage) {
        Button button = new Button("Click Me");
        VBox root = new VBox(10, button);
        Scene scene = new Scene(root, 300, 200);
        primaryStage.setScene(scene);
        primaryStage.setTitle("JavaFX Controls Example");
        primaryStage.show();
    }

    public static void main(String[] args) {
        launch();
    }
}

  1. Interfaz Gráfica de Usuario