REALISAR REGISTRO DE VISITANTES EN UN LISTADO CON JOptionpane don salga nombre, id, edad, categiria de afiliacion don estan a,b,c en categorias unificar datos en una lista que salga por consola de cada dato registrado
Aquí te muestro un ejemplo de cómo podrías implementar un registro de visitantes utilizando `JOptionPane` en Java: ```java import javax.swing.*; import java.awt.*; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.util.ArrayList; import java.util.List; public class RegistroVisitantes { private JFrame frame; private JTextField nombreField; private JTextField idField; private JTextField edadField; private JComboBox<String> categoriaComboBox; private List<Visitante> visitantes; public RegistroVisitantes() { visitantes = new ArrayList<>(); frame = new JFrame("Registro de Visitantes"); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frame.setLayout(new BorderLayout()); JPanel panel = new JPanel(); panel.setLayout(new BoxLayout(panel, BoxLayout.Y_AXIS)); // Campo nombre JLabel nombreLabel = new JLabel("Nombre:"); nombreField = new JTextField(20); panel.add(nombreLabel); panel.add(nombreField); // Campo ID JLabel idLabel = new JLabel("ID:"); idField = new JTextField(20); panel.add(idLabel); panel.add(idField); // Campo edad JLabel edadLabel = new JLabel("Edad:"); edadField = new JTextField(20); panel.add(edadLabel); panel.add(edadField); // Campo categoría JLabel categoriaLabel = new JLabel("Categoría:"); String[] categorias = {"A", "B", "C"}; categoriaComboBox = new JComboBox<>(categorias); panel.add(categoriaLabel); panel.add(categoriaComboBox); // Botón registrar JButton registrarButton = new JButton("Registrar"); registrarButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { registrarVisitante(); } }); panel.add(registrarButton); // Botón mostrar lista JButton mostrarListaButton = new JButton("Mostrar lista"); mostrarListaButton.addActionListener(new ActionListener() { @Override public void actionPerformed(ActionEvent e) { mostrarLista(); } }); panel.add(mostrarListaButton); frame.add(panel, BorderLayout.CENTER); frame.pack(); frame.setVisible(true); } private void registrarVisitante() { String nombre = nombreField.getText(); String id = idField.getText(); String edad = edadField.getText(); String categoria = (String) categoriaComboBox.getSelectedItem(); if (!nombre.isEmpty() && !id.isEmpty() && !edad.isEmpty() && !categoria.isEmpty()) { Visitante visitante = new Visitante(nombre, id, edad, categoria); visitantes.add(visitante); JOptionPane.showMessageDialog(frame, "Visitante registrado con éxito."); limpiarCampos(); } else { JOptionPane.showMessageDialog(frame, "Por favor, complete todos los campos."); } } private void mostrarLista() { StringBuilder lista = new StringBuilder(); for (Visitante visitante : visitantes) { lista.append("Nombre: ").append(visitante.getNombre()).append("\n"); lista.append("ID: ").append(visitante.getId()).append("\n"); lista.append("Edad: ").append(visitante.getEdad()).append("\n"); lista.append("Categoría: ").append(visitante.getCategoria()).append("\n\n"); } JOptionPane.showMessageDialog(frame, lista.toString()); } private void limpiarCampos() { nombreField.setText(""); idField.setText(""); edadField.setText(""); categoriaComboBox.setSelectedIndex(0); } public static void main(String[] args) { SwingUtilities.invokeLater(new Runnable() { @Override public void run() { new RegistroVisitantes(); } }); } private static class Visitante { private String nombre; private String id; private String edad; private String categoria; public Visitante(String nombre, String id, String edad, String categoria) { this.nombre = nombre; this.id = id; this.edad = edad; this.categoria = categoria; } public String getNombre() { return nombre; } public String getId() { return id; } public String getEdad() { return edad; } public String getCategoria() { return categoria; } } } ``` Este código crea una ventana con campos para ingresar el nombre, ID, edad y categoría de un visitante. Cuando se presiona el botón "Registrar", se crea un objeto `Visitante` con los datos ingresados y se agrega a la lista de visitantes. Cuando se presiona el botón "Mostrar lista", se muestra una ventana con la lista de visitantes registrados. La lista de visitantes se almacena en una lista de objetos `Visitante`, que tiene métodos para obtener el nombre, ID, edad y categoría de cada visitante. La lista se muestra en una ventana con un mensaje de diálogo utilizando `JOptionPane`.