Saltar la navegación

Etiquetas

Las etiquetas son controles que nos permiten mostrar texto y/o imágenes en una interfaz. Generalmente, el usuario no interactúa con las etiquetas.

Las etiquetas pertenecen a la clase javafx.scene.control.Label.

Para establecer el texto de una etiqueta utilizamos el método setText o bien le pasamos dicho texto al constructor. Si queremos establecer una imagen para una etiqueta lo haremos mediante el método setGraphic pasándole un objeto de la clase ImageView o bien se lo pasamos junto al texto al constructor.

Image imagen = new Image(LocalizadorRecursos.class.getResourceAsStream("imagenes/iconoCaca.png"), 100, 100, true, true);
lbImagen.setGraphic(new ImageView(imagen));

La siguiente imagen muestra tres etiquetas: una que contiene una imagen, otra que ha sido rotada, cambiado el tipo de letra y su tamaño y una última que no cabe y que se ha cortado (wrap) en varias líneas.

El código utilizado para crear esta interfaz es el siguiente:

package javafx.controles;

import javafx.application.Application;
import javafx.geometry.Insets;
import javafx.recursos.LocalizadorRecursos;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.scene.image.Image;
import javafx.scene.image.ImageView;
import javafx.scene.layout.HBox;
import javafx.scene.text.Font;
import javafx.stage.Stage;

public class Etiquetas extends Application {

	@Override
	public void start(Stage escenarioPrincipal) {
		try {
			HBox raiz = new HBox();
			raiz.setPadding(new Insets(50, 50, 50, 50));
			raiz.setSpacing(30);
			
			Label lbImagen = new Label();
			Label lbRotada = new Label();
			Label lbCortada = new Label();
			
			Image imagen = new Image(LocalizadorRecursos.class.getResourceAsStream("imagenes/iconoCaca.png"), 100, 100, true, true);
			lbImagen.setGraphic(new ImageView(imagen));
			
			lbRotada.setText("Etiqueta");
			lbRotada.setFont(Font.font("Ani", 40));
			lbRotada.setMinWidth(150);
			lbRotada.setRotate(-50);
			
			lbCortada.setWrapText(true);
			lbCortada.setText("Esta es otra etiqueta que no cabe y debe ser cortada en varias líneas");
			
			raiz.getChildren().addAll(lbImagen, lbRotada, lbCortada);
			
			Scene escena = new Scene(raiz, 500, 200);
			escenarioPrincipal.setTitle("Etiquetas");
			escenarioPrincipal.setScene(escena);
			escenarioPrincipal.show();
		} catch(Exception e) {
			e.printStackTrace();
		}
	}

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