Aquí podemos ver una imagen de una aplicación que muestra tres etiquetas. La ventana está dividida entres filas de la misma altura, la etieueta de cada fila es lo más ancha posible.
Intenta esto:
- Compila y ejecuta la aplicación. El código fuente está en LabelDemo.java, y la imagen en middle.gif.
- Redimensiona la ventana para poder ver cómo los contenidos de las etiquetas se sitúan con las áreas de dibujo.
Todos los contenidos de las etiquetas tienen el alineamiento vertical por defecto -- los contenidos están centrados verticalmente en el área de la etiqueta. La etiqueta superior que contiene texto e imagen, tiene alineamiento horizontal centrado. La segunda etiqueta, que sólo tiene texto, tiene alineamiento a la izquierda que es por defecto para las etiquetas de sólo texto. La tercera etiqueta, que contiene sólo una imagen, tiene alineamiento horizontal centrado, que es por defecto para las etiquetas sólo de imágenes.
Abajo puedes ver el código de
LabelDemo.java que crea las etiquetas del ejemplo anterior.
ImageIcon icon = new ImageIcon("images/middle.gif");
. . .
label1 = new JLabel("Image and Text",
icon,
JLabel.CENTER);
//Set the position of the text, relative to the icon:
label1.setVerticalTextPosition(JLabel.BOTTOM);
label1.setHorizontalTextPosition(JLabel.CENTER);
label2 = new JLabel("Text-Only Label");
label3 = new JLabel(icon);
//Add labels to the JPanel.
add(label1);
add(label2);
add(label3);
Las siguientes tablas listan los métodos y constructores más utilizados de JLabel. Otros métodos están definidos por la clase Component. Incluyen setFont y setForeground. El API se divide en dos categorías:
Seleccionar u Obtener el Contenido de la Etiqueta Método Propósito JLabel(Icon)
JLabel(Icon, int)
JLabel(String)
JLabel(String, Icon, int)
JLabel(String, int)
JLabel()Crea un ejemplar de JLabel, inicializándolo para tener texto/imagen/alineamiento especificados. El argumento int especifica el alineamiento horizontal del contenido de la etiqueta dentro de su área de dibujo. El alineamiento horizontal debe ser una de las siguientes constantes definidas en el interface SwingConstants (que implementa JLabel): LEFT, CENTER, o LEFT. void setText(String)
String getText()Selecciona u obtiene el texto mostrado por la etiqueta. void setIcon(Icon)
Icon getIcon()Selecciona u obtiene la imagen mostrada por la etiqueta. void setDisplayedMnemonic(char)
char getDisplayedMnemonic()Selecciona u obtiene la letra que debería ser la tecla alternativa. Esto es muy útil cuando una etiqueta describe un componente (como un campo de texto) que tiene un tecla alternativa pero no puede mostrarla. void setDisabledIcon(Icon)
Icon getDisabledIcon()Selecciona u obtiene la imagen mostrada por la etiqueta cuando está desactivada. Si no se especifica esta imagen, el aspecto y comportamiento crea una manipulando la imagen por defecto.
Ajuste Fino de la Apariencia de la Etiqueta Método Propósito void setHorizontalAlignment(int)
void setVerticalAlignment(int)
int getHorizontalAlignment()
int getVerticalAlignment()Selecciona u obtiene donde debería mostrarse el contenido de la etiqueta. El Interface SwingConstants define tres posibles valores para el alineamiento horizontal: LEFT (por defecto para etiquetas de sólo texto), CENTER (por defecto para etiquetas de sólo imagen), o LEFT; y tres para alineamiento vertical: TOP, CENTER (por defecto), y BOTTOM. void setHorizontalTextPosition(int)
void setVerticalTextPosition(int)
int getHorizontalTextPosition()
int getVerticalTextPosition()Selecciona u obtiene dónde debería mostrarse el texto del botón con respecto a su imagen. El interface SwingConstants define tres posibles valores para posición horizontal: LEFT, CENTER, y LEFT (por defecto); y tres para posición vertical: TOP, CENTER (por defecto), y BOTTOM. void setIconTextGap(int)
int getIconTextGap()Selecciona u obtiene el número de pixels entre el texto de la etiqueta y su imagen.
La siguiente tabla lista algunos de los muchos ejemplos que utilizan etiquetas.
Ejemplo Dónde se Describe Notas LabelDemo.java Esta página. Muestra cómo especificar alineamiento vertical y horizontal, así como el alineamiento del texto y la imagen de la etiqueta. AlignmentDemo.java Reparar problemas de Alineamiento Demuestra un posible problema de alineamiento cuando se utiliza una etiqueta en un box layout vertical y como resolverlo. DialogDemo.java Cómo crear Diálogos Utiliza etiquetas intercambiables para mostrar instrucciones y proporcionar realimentación. SplitPaneDemo.java Cómo usar SplitPane y Cómo usar Lists. Mustra una imagen usando una etiqueta dentro de un panel desplazable. SliderDemo2.java Cómo usar Sliders Utiliza JLabel para proporcionaerle etiquetas a un slider. TableDialogEditDemo.java Cómo usar Tablas Implementa una subclase de label, ColorRenderer, para mostrar colores en las celdas de una tabla. TextFieldDemo.java Como usar TextField Tiene cuatro filas, cada una contiene una etiqueta y el campo de texto al que describe.