Componentes básicos: JLabel y JButton


Una GUI (Graphic User Interface) cuenta con 2 tipos de objetos:
  • Componentes:
    • Cada elemento individual de una gui.
  • Contenedor:
    • Sirve para contener componentes.
*Ventanas y marcos son los principales contenedores.

*Los componentes básicos son objetos de clases predefinidas en el paquete SWING.
  • JLabel
  • JButton
  • JTextField
  • JTextArea
  • JCheckBox
  • JComboBox
 

  • La metodología de implementación es siempre la misma:
    • Crear objeto de un componente:
      • Ejemplo:
        • JButton boton = new JButton("Aceptar");
    • Adañirlo a un contenedor:
      • Ejemplo:
        • JPanel panel = new JPanel();
        • panel.add(boton);

JLabel

Class JLabel

java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.JLabel
El componente JLabel son etiquetas que permite añadir texto, este no puede ser modificado por el usuario. Ademas de texto tambien admite gráfico de la clase ImageIcon

Constructores JLabel

JLabel cuenta 6 constructores:
  • JLabel()
    • Crea un objeto etiqueta sin texto ni imagen.

  • JLabel(Icon image)
    • Crea un objeto etiqueta con una imagen.
      • Ejemplo:
        • ImageIcon icono = new ImageIcon("src/miPaquete/Miarchivo.jpg");
        • Jlabel etiqueta = new JLabel(icono);

  • JLabel(Icon image, int horizontalAlignment)
    • Crea un objeto etiqueta con una imagen y una alineación horizontal. La alinacion debe ser una constante defina de SwingConstants: LEFT, CENTER, RIGHT, LEADING o TRAILING.
    • Ejemplo:
      • ImageIcon icono = new ImageIcon("src/miPaquete/Miarchivo.jpg", SwingConstants.CENTER);
      • Jlabel etiqueta = new JLabel(icono);

  • JLabel(String text)
    • Crea un objeto etiqueta con el texto indicado.
      • Ejemplo:
        • JLabel etiqueta = new JLabel("Hola Mundo");

  • JLabel(String text, int horizontalAlignment)
    • Crea un pbjeto etiqueta con un texto como contenido y una alineación horizontal.
      • Ejemplo:
        • JLabel etiqueta = new JLabel("Hola Mundo", SwingConstants.RIGHT);

  • JLabel(String text, Icon icon, int horizontalAlignment)
    • Crea un objeto etiqueta con un texto y una imagen más una alineacion horizontal.
      • Ejemplo:
        • JLabel etiqueta = new JLabel("Hola Mundo", "src/miPaquete/Miarchivo.jpg", SwingConstants.LEFT);
  1. import javax.swing.*;
  2. import java.awt.*;
  3. public class ComponentesBasicos {
  4.     public static void main(String[] args) {
  5.         JPanel panel = new JPanel();
  6.         ImageIcon icono = new ImageIcon("src/ily.jpg");
  7.         JLabel etiqueta1 = new JLabel("Hola Mundo", SwingConstants.LEFT);
  8.         JLabel etiqueta2 = new JLabel(icono, SwingConstants.CENTER);
  9.         JLabel etiqueta3 = new JLabel("Chau Mundo", SwingConstants.RIGHT);
  10.        
  11.         JFrame marco = new JFrame();
  12.         GridLayout flow = new GridLayout(3,1);
  13.         panel.setLayout(flow);
  14.         panel.add(etiqueta1);panel.add(etiqueta2);panel.add(etiqueta3);
  15.         marco.add(panel);
  16.         marco.setTitle("Componentes Basicos: JLabel - Etiquetas");
  17.         marco.setSize(550, 350);
  18.         marco.setResizable(true);
  19.         marco.setLocationRelativeTo(null);
  20.         marco.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  21.         marco.setVisible(true);
  22.     }
  23. }
El resultado será:


JButton

Class JButton

java.lang.Object
java.awt.Component
java.awt.Container
javax.swing.JComponent
javax.swing.AbstractButton
javax.swing.JButton
El objeto JButton es un botón pulsable con una etiqueta o una imagen.
El boton es muy similar a una etiqueta con la diferencia del pulsado, para que al hacer click haga algo hay que implementar la interface de eventos y asignarle un vigilante al boton, para saber cuando este es pulsado y describir en los metodos de la interface que es lo que queremos que haga.
  1. import javax.swing.*;
  2. import java.awt.*;
  3. public class ComponentesBasicos {
  4.     public static void main(String[] args) {
  5.         JPanel panel = new JPanel();
  6.         ImageIcon icono = new ImageIcon("src/smile.png");
  7.         JButton boton1 = new JButton("Hola Mundo");
  8.         JButton boton2 = new JButton(icono);
  9.         JButton boton3 = new JButton("Chau Mundo");
  10.        
  11.         JFrame marco = new JFrame();
  12.         FlowLayout flow = new FlowLayout();
  13.         panel.setLayout(flow);
  14.         panel.add(boton1);
  15.         boton2.setToolTipText("También podés hacer botones con imagenes");
  16.         panel.add(boton2);
  17.         panel.add(boton3);
  18.         marco.add(panel);
  19.         marco.setTitle("Componentes Basicos: JButtons");
  20.         marco.setSize(400, 150);
  21.         marco.setResizable(true);
  22.         marco.setLocationRelativeTo(null);
  23.         marco.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  24.         marco.setVisible(true);
  25.     }
  26. }
El resultado será:

1 comentario:

  1. Wow encontré tu pagina y explicas demasiado bien gracias por tu ayuda seguiré visitando tu pagina

    ResponderEliminar