Estoy desarrollando una aplicación que solicita y muestra los datos por pantalla a través de JOptionPane con ventanas y no por consola como he hecho siempre.
He conseguido poner todo más o menos correctamente, pero a la hora de listar la información introducida por el usuario, el programa me crea una ventana para cada información introducida y me gustaría que sacara toda la información a la vez.
Ejemplo: Si he dado de alta 2 clientes con todos sus datos, que abra una única ventana con los datos de ambos clientes y no una ventana por cliente.
¿Hay alguna forma de que el programa pueda realizar esta función? Os pongo en código como lo tengo actualmente.
Código
/**Método para dar de alta a nuevos clientes en la base de datos del hotel. */ public void altaCliente(){ /**Llamada al método comprobarDni para comprobar que el cliente que se está dando de alta no ha sido ya creado. */ Cliente cliente = comprobarDni(dni); /** Si el dni introducido no coincide con el de ningún cliente existente devuelve null y continua con el proceso de alta del cliente nuevo. En caso que el dni introducido ya exista significa que el cliente ya ha sido registrado previamente y nos devolverá un mensaje de error. */ if(cliente == null) { String nombre; String apellidos; String telefono; clientes.add(new Cliente(nombre,apellidos,dni,telefono)); + "\nNombre: " +nombre +"\nApellidos: " +apellidos +"\nDni: " +dni + "\nTeléfono: "+telefono); } else { JOptionPane.showMessageDialog(null, "El DNI introducido ya existe. El cliente que está dando de alta ya se encuentra registrado en el sistema.","ERROR", 0); } } /** Método para comprobar que si dni introducido por teclado coincide con el de agún cliente ya registrado. */ for (int i=0; i < clientes.size(); i++){ Cliente cliente = clientes.get(i); if (dni.equals(cliente.getDni())){ return cliente; } } return null; } /** Método para listar los clientes registrados. */ public void mostrarClientes() { for (int i=0; i < getClientes().size(); i++) { Cliente aux = getClientes().get(i); JOptionPane.showMessageDialog(null,aux.getNombre() + " " + aux.getApellidos() + ", Dni." + aux.getDni() + ", Telf." + aux.getTelefono()); } }
Me gustaría que en la Función mostrarClientes() pudiera crear una única ventana que fuera LISTA CLIENTES y en ella aparecieran todos los clientes que se han introducido y no que primero aparezca la ventana de LISTA CLIENTES, Cliente 1 y sus datos, cliente 2 y sus datos por ejemplo.
Mil gracias por la ayuda, saludos.