Introducción
Una Interfaz Gráfica de Usuario (GUI) permite a los usuarios interactuar con un programa a través de elementos visuales como botones, cuadros de texto, menús, ventanas, etc. En Java, la creación de GUIs se puede realizar mediante las bibliotecas Swing o JavaFX, aunque Swing es más comúnmente utilizado para la creación de interfaces simples y efectivas.
En Swing, JOptionPane y JFrame son componentes clave que permiten crear interfaces gráficas interactivas.
JOptionPane es una clase de la biblioteca Swing que facilita la creación de cuadros de diálogo estándar como alertas, confirmaciones, y entradas de texto.
Sintaxis en Java:
Mostrar un mensaje en un cuadro de diálogo:
JOptionPane.showMessageDialog(null, "Mensaje a mostrar", "Título", JOptionPane.INFORMATION_MESSAGE);
2. Mostrar una opción de confirmación (sí/no):
int respuesta = JOptionPane.showConfirmDialog(null, "¿Está seguro?", "Confirmación", JOptionPane.YES_NO_OPTION);
3. Entrada de texto desde un cuadro de diálogo:
String entrada = JOptionPane.showInputDialog("Introduce un dato:");
JFrame es la clase que representa una ventana en una aplicación gráfica en Swing. Un JFrame contiene diferentes componentes gráficos, como botones, etiquetas, y otros elementos de la interfaz de usuario.
Sintaxis en Java:
Creación de un JFrame:
JFrame ventana = new JFrame("Título de la ventana");
2. Establecer el tamaño de la ventana:
ventana.setSize(300, 200);
3. Hacer la ventana visible:
ventana.setVisible(true);
4. Cerrar la ventana cuando el usuario haga clic en el botón de cerrar:
ventana.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
Dentro de un JFrame, puedes añadir varios componentes gráficos como botones, etiquetas, cuadros de texto, etc.
Sintaxis de algunos componentes comunes:
Botón (JButton):
JButton boton = new JButton("Texto del Botón");
ventana.add(boton);
2. Etiqueta (JLabel):
JLabel etiqueta = new JLabel("Texto de la etiqueta");
ventana.add(etiqueta);
3. Campo de texto (JTextField):
JTextField campoTexto = new JTextField(20);
ventana.add(campoTexto);
4. Panel (JPanel): El JPanel se utiliza para organizar otros componentes dentro de la ventana.
JPanel panel = new JPanel();
ventana.add(panel);
4. Disposición de los componentes (Layout Managers):
Para organizar los componentes dentro de un JFrame, se utilizan los Layout Managers, que permiten controlar cómo se distribuyen los componentes.
Sintaxis:
FlowLayout: Organiza los componentes en una fila, añadiéndolos de izquierda a derecha.
ventana.setLayout(new FlowLayout());
2. BorderLayout: Divide el contenedor en cinco regiones (Norte, Sur, Este, Oeste, Centro).
ventana.setLayout(new BorderLayout());
3. GridLayout: Organiza los componentes en una cuadrícula.
ventana.setLayout(new GridLayout(2, 2)); // 2 filas y 2 columnas
Resumen:
En Java, las interfaces gráficas se manejan con Swing, usando JOptionPane para diálogos y JFrame como contenedor principal. Los Layout Managers ayudan a organizar los componentes gráficos como botones, etiquetas y campos de texto dentro de las ventanas.