Buenas tardes a todos,
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.
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.
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 (java) [Seleccionar]
/**Método para dar de alta a nuevos clientes en la base de datos del hotel. */
public void altaCliente(){
String dni = JOptionPane.showInputDialog("NUEVO CLIENTE: \n" +"Escriba el DNI del cliente: \n\n");
/**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;
nombre = JOptionPane.showInputDialog("Introduzca el nombre del cliente: ");
apellidos = JOptionPane.showInputDialog("Introduzca los apellidos del cliente: ");
telefono = JOptionPane.showInputDialog("Introduzca el núm. de teléfono del cliente: ");
clientes.add(new Cliente(nombre,apellidos,dni,telefono));
JOptionPane.showConfirmDialog(null,"Se ha añadido el siguiente cliente en la base de datos: \n"
+ "\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. */
public Cliente comprobarDni(String dni){
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() {
JOptionPane.showMessageDialog(null,"LISTA DE CLIENTES: ");
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.