- Swing - JLabel


Veamos la segunda componente de la librería swing llamada JLabel.

La clase JLabel nos permite mostrar básicamente un texto.

Problema 1:

Confeccionar una ventana que muestre el nombre de un programa en la parte superior y su número de versión en la parte inferior. No permitir modificar el tamaño de la ventana en tiempo de ejecución.

JLabel

Programa:

import javax.swing.*;
public class Formulario extends JFrame {
    private JLabel label1,label2;
    public Formulario() {
        setLayout(null);
        label1=new JLabel("Sistema de Facturación.");
        label1.setBounds(10,20,300,30);
        add(label1);
        label2=new JLabel("Vesion 1.0");
        label2.setBounds(10,100,100,30);
        add(label2);
    }
    
    public static void main(String[] ar) {
        Formulario formulario1=new Formulario();
        formulario1.setBounds(0,0,300,200);
        formulario1.setResizable(false);
        formulario1.setVisible(true);
    }
}

Importamos el paquete javax.swing donde se encuentran definidas las clase JFrame y JLabel:

import javax.swing.*;

Heredamos de la clase de JFrame:

public class Formulario extends JFrame {

Definimos dos atributos de la clase JLabel:

    private JLabel label1,label2;

En el constructor creamos las dos JLabel y las ubicamos llamando al método setBounds, no hay que olvidar de llamar al método add que añade la JLabel al JFrame:

    public Formulario() {
        setLayout(null);
        label1=new JLabel("Sistema de Facturación.");
        label1.setBounds(10,20,300,30);
        add(label1);
        label2=new JLabel("Vesion 1.0");
        label2.setBounds(10,100,100,30);
        add(label2);
    }

Por último en la main creamos un objeto de la clase que acabamos de codificar, llamamos al setBounds para ubicar y dar tamaño al JFrame, llamamos al método setResizable pasando el valor false para no permitir modificar el tamaño del JFrame en tiempo de ejecución y finalmente llamamos al método setVisible para que se visualice el JFrame:

    public static void main(String[] ar) {
        Formulario formulario1=new Formulario();
        formulario1.setBounds(0,0,300,200);
        formulario1.setResizable(false);
        formulario1.setVisible(true);
    }

Problemas propuestos

  1. Crear tres objetos de la clase JLabel, ubicarlos uno debajo de otro y mostrar nombres de colores.
Solución
import javax.swing.*;
public class Formulario extends JFrame {
    private JLabel label1,label2,label3;
    
    public Formulario() {
        setLayout(null);
        label1=new JLabel("Rojo");
        label1.setBounds(10,20,100,30);
        add(label1);
        label2=new JLabel("Verde");
        label2.setBounds(10,60,100,30);
        add(label2);
        label3=new JLabel("Azul");
        label3.setBounds(10,100,100,30);
        add(label3);
    }
    
    public static void main(String[] ar) {
        Formulario formulario1=new Formulario();
        formulario1.setBounds(0,0,300,200);
        formulario1.setVisible(true);
    }
}

Retornar