Título: Ayuda con JOptionPane mostrar datos en una única ventana. Publicado por: rubia28 en 9 Diciembre 2020, 19:27 pm 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. Código
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. Título: Re: Ayuda con JOptionPane mostrar datos en una única ventana. Publicado por: K-YreX en 10 Diciembre 2020, 06:34 am Supongo que el problema sí lo tienes localizado, no? Cada vez que usas showMessageDialog() creas un cuadro de diálogo nuevo. Si metes este método dentro del for() que se repite n veces, crearás n cuadros de diálogo.
La solución es muy sencilla: concatenar en un string todo el texto que quieres mostrar y llamar a showMessageDialog() una única vez fuera del for(): Código
PD: Para concatenar strings es más eficiente usar StringBuffer o StringBuilder por si quieres echar un ojo a esas clases o ya las conoces... :rolleyes: Suerte :-X Título: Re: Ayuda con JOptionPane mostrar datos en una única ventana. Publicado por: rubia28 en 10 Diciembre 2020, 17:14 pm Muchisimas gracias por la ayuda!!
Tenía un poco localizado que era por estar dentro de for.. pero no sabía como poder hacerlo.. ahora ya viendo que hay que inicializar una primera variable String fuera como has indicado y sacar el for en mensaje que quieres mostrar final lo veo mucho más claro! y podré modificar todos los puntos del menú para poder listar las funciones que me faltaban y que el resultado se vea como quería ;D Le echaré un vistazo a Stringbuffer y StringBuilder como me recomiendas, ahora mismo estoy empezando y estoy viendo todo de nuevas jejej Mil gracias por la ayuda!! |