Saltearse al contenido

Componentes de Acción en Swing

Componentes de acción

Los componentes de acción en Swing son elementos interactivos que permiten al usuario realizar acciones específicas en la interfaz gráfica.

JButton

JButton es un componente que representa un botón que puede ser presionado por el usuario para iniciar una acción.

Se utiliza para permitir al usuario iniciar acciones específicas en la aplicación, como enviar un formulario, abrir un diálogo o ejecutar una operación.

Uso

  1. Se crea una instancia de JButton, generalmente con un texto descriptivo.
  2. Se añade un ActionListener para manejar el evento de clic.
  3. Se añade el botón a un contenedor en la interfaz.

Ejemplo:

1
import javax.swing.*;
2
import java.awt.*;
3
import java.awt.event.ActionEvent;
4
import java.awt.event.ActionListener;
5
6
public class EjemploJButton {
7
private JFrame frame;
8
private JButton boton;
9
private JLabel etiqueta;
10
11
public EjemploJButton() {
12
inicializarComponentes();
13
}
14
15
private void inicializarComponentes() {
16
frame = new JFrame("Ejemplo JButton");
17
frame.setSize(300, 200);
18
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
19
frame.setLayout(new FlowLayout());
20
frame.setLocationRelativeTo(null);
21
22
boton = new JButton("Haz clic aquí");
23
etiqueta = new JLabel("Esperando clic...");
24
25
boton.addActionListener(new ActionListener() {
26
@Override
27
public void actionPerformed(ActionEvent e) {
28
etiqueta.setText("¡Botón presionado!");
29
}
30
});
31
32
frame.add(boton);
33
frame.add(etiqueta);
34
}
35
36
public void mostrar() {
37
frame.setVisible(true);
38
}
39
40
public static void main(String[] args) {
41
SwingUtilities.invokeLater(() -> {
42
EjemploJButton app = new EjemploJButton();
43
app.mostrar();
44
});
45
}
46
}

Información:

  • Creamos un JButton con el texto “Haz clic aquí”.
  • Añadimos un ActionListener que actualiza el texto de una etiqueta cuando se presiona el botón.
  • El botón y la etiqueta se añaden al frame para su visualización.

JCheckBox

JCheckBox es un componente que representa una opción que puede ser seleccionada o deseleccionada.

Se utiliza para permitir al usuario seleccionar una o múltiples opciones de un conjunto de alternativas.

Uso

  1. Se crea una instancia de JCheckBox con un texto descriptivo.
  2. Se puede añadir un ItemListener para manejar cambios en el estado de selección.
  3. Se añade el checkbox a un contenedor en la interfaz.

Ejemplo:

1
import javax.swing.*;
2
import java.awt.*;
3
import java.awt.event.ItemEvent;
4
import java.awt.event.ItemListener;
5
6
public class EjemploJCheckBox {
7
private JFrame frame;
8
private JCheckBox checkBox;
9
private JLabel etiqueta;
10
11
public EjemploJCheckBox() {
12
inicializarComponentes();
13
}
14
15
private void inicializarComponentes() {
16
frame = new JFrame("Ejemplo JCheckBox");
17
frame.setSize(300, 200);
18
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
19
frame.setLocationRelativeTo(null);
20
frame.setLayout(new FlowLayout());
21
22
checkBox = new JCheckBox("Activar opción");
23
etiqueta = new JLabel("Opción desactivada");
24
25
checkBox.addItemListener(new ItemListener() {
26
@Override
27
public void itemStateChanged(ItemEvent e) {
28
if (e.getStateChange() == ItemEvent.SELECTED) {
29
etiqueta.setText("Opción activada");
30
} else {
31
etiqueta.setText("Opción desactivada");
32
}
33
}
34
});
35
36
frame.add(checkBox);
37
frame.add(etiqueta);
38
}
39
40
public void mostrar() {
41
frame.setVisible(true);
42
}
43
44
public static void main(String[] args) {
45
SwingUtilities.invokeLater(() -> {
46
EjemploJCheckBox app = new EjemploJCheckBox();
47
app.mostrar();
48
});
49
}
50
}

Información:

  • Creamos un JCheckBox con el texto “Activar opción”.
  • Añadimos un ItemListener que actualiza el texto de una etiqueta según el estado del checkbox.
  • El checkbox y la etiqueta se añaden al frame para su visualización.

JRadioButton

JRadioButton es un componente que representa una opción dentro de un grupo de opciones mutuamente excluyentes.

Se utiliza cuando el usuario debe seleccionar una única opción de un conjunto de alternativas relacionadas.

Uso

  1. Se crean múltiples instancias de JRadioButton.
  2. Se agrupan los JRadioButtons en un ButtonGroup.
  3. Se pueden añadir ActionListeners para manejar la selección.
  4. Se añaden los radio buttons a un contenedor en la interfaz.

Ejemplo:

1
import javax.swing.*;
2
import java.awt.*;
3
import java.awt.event.ActionEvent;
4
import java.awt.event.ActionListener;
5
6
public class EjemploJRadioButton {
7
private JFrame frame;
8
private JRadioButton radioBoton1, radioBoton2, radioBoton3;
9
private JLabel etiqueta;
10
11
public EjemploJRadioButton() {
12
inicializarComponentes();
13
}
14
15
private void inicializarComponentes() {
16
frame = new JFrame("Ejemplo JRadioButton");
17
frame.setSize(300, 200);
18
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
19
frame.setLocationRelativeTo(null);
20
frame.setLayout(new FlowLayout());
21
22
radioBoton1 = new JRadioButton("Opción 1");
23
radioBoton2 = new JRadioButton("Opción 2");
24
radioBoton3 = new JRadioButton("Opción 3");
25
26
ButtonGroup grupo = new ButtonGroup();
27
grupo.add(radioBoton1);
28
grupo.add(radioBoton2);
29
grupo.add(radioBoton3);
30
31
etiqueta = new JLabel("Ninguna opción seleccionada");
32
33
ActionListener listener = new ActionListener() {
34
@Override
35
public void actionPerformed(ActionEvent e) {
36
JRadioButton seleccionado = (JRadioButton) e.getSource();
37
etiqueta.setText("Seleccionado: " + seleccionado.getText());
38
}
39
};
40
41
radioBoton1.addActionListener(listener);
42
radioBoton2.addActionListener(listener);
43
radioBoton3.addActionListener(listener);
44
45
frame.add(radioBoton1);
46
frame.add(radioBoton2);
47
frame.add(radioBoton3);
48
frame.add(etiqueta);
49
}
50
51
public void mostrar() {
52
frame.setVisible(true);
53
}
54
55
public static void main(String[] args) {
56
SwingUtilities.invokeLater(() -> {
57
EjemploJRadioButton app = new EjemploJRadioButton();
58
app.mostrar();
59
});
60
}
61
}

Información:

  • Creamos tres JRadioButtons con diferentes opciones.
  • Los agrupamos en un ButtonGroup para asegurar que solo uno pueda ser seleccionado a la vez.
  • Añadimos un ActionListener común que actualiza una etiqueta con la opción seleccionada.
  • Los radio buttons y la etiqueta se añaden al frame para su visualización.