elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Introducción a Git (Primera Parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  JOptionPane extendido
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: JOptionPane extendido  (Leído 2,751 veces)
alfrosende

Desconectado Desconectado

Mensajes: 15


Ver Perfil
JOptionPane extendido
« en: 21 Marzo 2015, 12:50 pm »

Hola a todos, soy nuevo en el foro y bastante nuevo en Java tambien (actualmente aprendiendo). Estoy haciendo un proyecto simplon de una grilla que recibe datos mediante una BD en MySQL y realiza operaciones de mantenimiento sencillas. La llevo bastante bien, pero lo que me trae a preguntarles es una funcionalidad que quiero darle a un JOptionPane y para ello me gustaria hacer uno propio (extendido) que haga lo que quiero.
La idea es que mi JOptionPane que captura errores en un catch (hoy mi codigo es JOptionPane.showMessageDialgo(null,ex.getMessage(),"Error",JOptionPane.ERROR_MESSAGE)) tenga un boton extra que diga "Detalles", y al hacer click sobre ese boton me muestre el printstacktrace del catch.
Me podrian orientar como hacerlo??, estoy un poco perdido en como extenderlo, no se como agregar un boton al control, ni como reaccionar al click en dicho boton. Aparte de ello, si se pudiera hacer que en vez de mostrar esos detalles en un popup se muestre en el mismo JOptionPane agrandando el area del mismo por debajo mejor todavia.

Desde ya muchisimas gracias a todo aquel que pueda ayudarme. De mas esta decir que tampoco quiero el codigo hecho, sino algun ejemplo como para arrancar y alguna orientacion. Saludos a toda la comunidad.


En línea

Usuario Invitado


Desconectado Desconectado

Mensajes: 625



Ver Perfil
Re: JOptionPane extendido
« Respuesta #1 en: 21 Marzo 2015, 17:10 pm »

Hola alfrosende, buen día,

Lo mejor para lo que deseas hacer es no extender de JOptionPane. Una razón es que si el rastreo de pila es muy grande el JOptionPane lo será también. Aquí habría que usar JScrollPane que englobe por ejemplo un JTextArea para mostrar el rastreo con barras de desplazamiento.

Lo mejor es que hagas tu propio "Error dialog". Yo simplemente lo haría con un pequeño JPanel de pequeñas dimensiones en el cual hayan los siguientes elementos:

  • Label para el título del error.
  • JPanel que contendrá el JTextArea donde se mostrará el error.

He creado un ejemplo práctico para que veas cómo se hace.



UPDATE


El código fuente lo pueden encontrar desde mi Github: JErrorDialog

Es un JDialog en donde se muestra el rastreo de pila. Tiene sobrecarga de constructor y además métodos para agregar la Excepción, titulo del diálogo y el texto informativo de la excepción.

Una imagen de cómo queda:



MODO DE USO



Vas a instanciar a JErrorDialog y le pasas los siguientes parámetros:

  • El padre (JFrame o Frame, para Frame no estoy seguro si corre bien)
  • El título de la ventana
  • La información de la excepción
  • La excepción
Código
  1. JErrorDialog dialog = new JErrorDialog(this);
  2. dialog.setTitle("Something was wrong"); // window title
  3. dialog.setInfo("Error converting String to Integer"); // error info
  4. dialog.setException(e); // Exception
  5. dialog.showDialog(); // build and show the dialog

O de la manera rápida:

Código
  1. new JErrorDialog(this, "Something was wrong", "Error converting String to Integer", e).showDialog();


Si desean bajar el JAR para usarlo directamente, puede descargarlo desde AQUÍ


Saludos.


« Última modificación: 22 Marzo 2015, 00:00 am por Gus Garsaky » En línea

"La vida es muy peligrosa. No por las personas que hacen el mal, si no por las que se sientan a ver lo que pasa." Albert Einstein
alfrosende

Desconectado Desconectado

Mensajes: 15


Ver Perfil
Re: JOptionPane extendido
« Respuesta #2 en: 22 Marzo 2015, 13:45 pm »

Gus increiblemente util tu respuesta, ya estoy analizando el codigo y adapatandolo a mis necesidades. Muy agradecido realmente!!!!!
En línea

Usuario Invitado


Desconectado Desconectado

Mensajes: 625



Ver Perfil
Re: JOptionPane extendido
« Respuesta #3 en: 22 Marzo 2015, 23:22 pm »

De nada. Te recomiendo ir trasteando con JavaFX para que trabajes mejor. Swing ya fue.

Saludos.
En línea

"La vida es muy peligrosa. No por las personas que hacen el mal, si no por las que se sientan a ver lo que pasa." Albert Einstein
alfrosende

Desconectado Desconectado

Mensajes: 15


Ver Perfil
Re: JOptionPane extendido
« Respuesta #4 en: 23 Marzo 2015, 22:56 pm »

Si sabes que leyendo el foro (estoy recien aprendiendo java y trato de leer todo lo que puedo) vi un tema donde hacian una pregunta sobre mejorar el diseño de una gui y tu le recomendabas javaFX ... busque alguna cosa y me puse a leer pero todavia estoy lejos, jeje, pero estoy intentando empaparme de ese tema, gracias
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Ayuda con JOptionPane
Java
BEATMASTER 3 10,927 Último mensaje 2 Septiembre 2008, 01:52 am
por KaOs_NiGhT
Duda con JOptionPane; :( « 1 2 »
Java
rub'n 10 7,442 Último mensaje 25 Octubre 2010, 08:23 am
por rub'n
Problema con JoptionPane
Java
monsefoster 2 4,181 Último mensaje 17 Abril 2011, 19:38 pm
por monsefoster
Monitor extendido
Windows
ElMag0 6 4,384 Último mensaje 20 Agosto 2012, 22:47 pm
por ElMag0
joptionpane con botones.
Java
josco 1 3,960 Último mensaje 20 Septiembre 2012, 18:07 pm
por sapito169
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines