Paso 1: Crear el marco principal
Para crear la ventana principal de nuestra aplicación, utilizamos un JFrame. Este marco contendrá todos los componentes de la interfaz.
import javax.swing.*;
import java.awt.*;
public class EjemploBotonSaludo {
public static void main(String[] args) {
// Crear el marco principal
JFrame frame = new JFrame("Ejemplo de Botón con Funcionalidad");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(300, 200);
frame.setLayout(new FlowLayout());
Explicación:
- JFrame frame = new JFrame(“Ejemplo de Botón con Funcionalidad”);
Creamos un JFrame llamadoframe
y le asignamos el título “Ejemplo de Botón con Funcionalidad”. - frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Configuramos el comportamiento al cerrar la ventana, en este caso, finalizar la aplicación. - frame.setSize(300, 200);
Establecemos el tamaño de la ventana a 300×200 píxeles. - frame.setLayout(new FlowLayout());
Usamos FlowLayout para organizar los componentes de manera lineal dentro del marco.
Paso 2: Crear el botón
Creamos un botón que el usuario podrá presionar para activar una acción.
// Crear el botón
JButton botonSaludo = new JButton("Saludar");
Explicación:
- JButton botonSaludo = new JButton(“Saludar”);
Creamos un botón con el texto “Saludar”.
Paso 3: Añadir el botón al marco
Añadimos el botón que hemos creado al marco principal.
// Añadir el botón al marco
frame.add(botonSaludo);
Explicación:
- frame.add(botonSaludo);
Añadimos el botónbotonSaludo
al JFrameframe
.
Paso 4: Crear un cuadro de texto y una etiqueta
Añadimos un JTextField para que el usuario pueda introducir su nombre y una JLabel para guiar al usuario.
// Crear un cuadro de texto y una etiqueta
JTextField nombreField = new JTextField(15);
frame.add(nombreField);
JLabel mensajeLabel = new JLabel("Introduce tu nombre y presiona el botón");
frame.add(mensajeLabel);
Explicación:
- JTextField nombreField = new JTextField(15);
Creamos un JTextField con un ancho de 15 columnas para que el usuario introduzca su nombre. - frame.add(nombreField);
Añadimos el JTextField al JFrameframe
. - JLabel mensajeLabel = new JLabel(“Introduce tu nombre y presiona el botón”);
Creamos una JLabel con el mensaje de instrucción para el usuario. - frame.add(mensajeLabel);
Añadimos la JLabel al JFrameframe
.
Paso 5: Definir el ActionListener para el botón
Asociamos una acción al botón para que, al ser presionado, se ejecute un código específico.
// Definir el ActionListener para el botón
botonSaludo.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String nombre = nombreField.getText();
JFrame saludoFrame = new JFrame("Saludo");
saludoFrame.setSize(200, 100);
saludoFrame.setLayout(new FlowLayout());
JLabel saludoLabel = new JLabel("Hola " + nombre);
saludoFrame.add(saludoLabel);
saludoFrame.setVisible(true);
}
});
Explicación:
- botonSaludo.addActionListener(new ActionListener() {…});
Creamos un ActionListener anónimo y lo registramos con el botón usandoaddActionListener
. - String nombre = nombreField.getText();
Dentro del ActionListener, obtenemos el texto introducido por el usuario en el JTextField. - JFrame saludoFrame = new JFrame(“Saludo”);
Creamos una nueva ventana (JFrame) llamadasaludoFrame
con el título “Saludo”. - saludoFrame.setSize(200, 100);
Establecemos el tamaño de la nueva ventana a 200×100 píxeles. - saludoFrame.setLayout(new FlowLayout());
Usamos FlowLayout para organizar los componentes dentro de la nueva ventana. - JLabel saludoLabel = new JLabel(“Hola ” + nombre);
Creamos una JLabel con el mensaje de saludo que incluye el nombre introducido. - saludoFrame.add(saludoLabel);
Añadimos la JLabel a la nueva ventana. - saludoFrame.setVisible(true);
Hacemos visible la nueva ventanasaludoFrame
.
Paso 6: Hacer visible el marco principal
Finalmente, hacemos visible el JFrame principal para que el usuario pueda interactuar con él.
// Hacer visible el marco principal
frame.setVisible(true);
}
}
Explicación:
- frame.setVisible(true);
Hacemos visible el JFrameframe
.
Código Completo:
import javax.swing.*;
import java.awt.*;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
public class EjemploBotonSaludo {
public static void main(String[] args) {
// Crear el marco principal
JFrame frame = new JFrame("Ejemplo de Botón con Funcionalidad");
frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
frame.setSize(300, 200);
frame.setLayout(new FlowLayout());
// Crear el botón
JButton botonSaludo = new JButton("Saludar");
// Añadir el botón al marco
frame.add(botonSaludo);
// Crear un cuadro de texto y una etiqueta
JTextField nombreField = new JTextField(15);
frame.add(nombreField);
JLabel mensajeLabel = new JLabel("Introduce tu nombre y presiona el botón");
frame.add(mensajeLabel);
// Definir el ActionListener para el botón
botonSaludo.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
String nombre = nombreField.getText();
JFrame saludoFrame = new JFrame("Saludo");
saludoFrame.setSize(200, 100);
saludoFrame.setLayout(new FlowLayout());
JLabel saludoLabel = new JLabel("Hola " + nombre);
saludoFrame.add(saludoLabel);
saludoFrame.setVisible(true);
}
});
// Hacer visible el marco principal
frame.setVisible(true);
}
}
Este ejemplo ilustra cómo crear una interfaz de usuario básica en Java Swing y cómo añadir funcionalidad a un botón mediante el uso de ActionListener.
¿QUÉ TE HA PARECIDO EL ARTÍCULO? Danos tu opinión al final de la página.
Deja tu comentario y ayúdanos a crecer.
¡SÍGUENOS EN TUS REDES FAVORITAS!
AYUDANOS A CRECER Y QUE LLEGUEMOS A TODAS LAS PERSONAS QUE NOS NECESITANA. SÍGUENOS EN TUS REDES.
Entra AQUÍ y elíge donde seguirnos.

NUESTRAS ÚLTIMAS PUBLICACIONES
- Proyectos que puedes empezar para aprender a programar (Academia San Roque)
- 15 ejercicios básicos en R (con soluciones)
- 📘 5 Ejercicios Sencillos de Programación en R (con soluciones)
- Guía para Aprender a Estudiar Programación con las 10 Claves de la Autodisciplina
- Serializar una lista de personas (nombre, apellido, DNI) en Java y guardarla en un archivo binario
- Simulacro de Examen — Fundamentos de Programación (Laboratorio)
- Reflexiones en Academia SanRoque: La importancia de la motivación, el esfuerzo y el aprendizaje en la educación y la formación
- CHECK Constraint en Oracle SQL: garantiza la calidad de tus datos paso a paso
- Simulacro #4 – Examen de C++ / Estructuras de Datos
ELIGE TU RED FAVORITA Y SÍGUENOS.
AYUDANOS A CRECER Y A LLEGAR A TODAS LAS PERSONAS QUE NOS NECESITAN.
Contenido restringido
Comments are closed