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

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  Java
| | | |-+  Excepcion al cancelar una ventana
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Excepcion al cancelar una ventana  (Leído 11,123 veces)
1mpuls0


Desconectado Desconectado

Mensajes: 1.186


Ver Perfil
Excepcion al cancelar una ventana
« en: 13 Octubre 2008, 09:57 am »

Hola amigos del foto, me gustaria que me ayudaran con este metodo como puedo arreglarlo, estoy trabajando en un programa en el cual tengo que crear N botones(representan conjuntos) los cuales no puede repetir su nombre asi que utilizo listas pero si el nombre del elemento ya existe aun asi me retorna el nombre del conjunto pero para esto mando llamar el mismo metodo( nombreConjunto(); )  y quiero que me digan si hay una mejor opcion; mi segundo problema es que al cerrar la ventana donde pido el nombre del conjunto por ejemplo si doy click en cancelar o cerrar ventana me tira las excepciones que vienen despues del codigo, les agradecere mucho su ayuda!!

saludos

PD. No quise escribir todo el codigo por que es mucho, pero si es necesario para una mejor apreciacion(aunque no lo creo) me avisan...



public String nombreConjunto()
      {
         
         try
               {
                  nombreBoton = JOptionPane.showInputDialog(null,"Escribe el nombre del conjunto","Nombre del conjunto",1);
                  nodo encontrado;
                  encontrado =  listina.buscarlis(nombreBoton);
             if(encontrado != null)
             {
                JOptionPane.showMessageDialog(null,"El nombre del conjunto ya existe");
                nombreConjunto();
             }
             else
             {
                listina.insertarprimero(nombreBoton);
             }
               }
         catch(NullPointerException exception)
         {}
               
               while(nombreBoton.equals("")||nombreBoton.charAt(0)==' ')
               {   
                  try
             {
               nombreBoton = JOptionPane.showInputDialog(null,"Escribe el nombre del conjunto","Nombre del conjunto",1);
             }         
            catch(NullPointerException exxx)
            {}
            
               }
         

         
         return nombreBoton;
      }



ClickC1
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
        at 1mpuls0.productoCartesiano.nombreConjunto(productoCartesiano.java:529
)
        at 1mpuls0.productoCartesiano.agregarBoton(productoCartesiano.java:465)
        at 1mpuls0.productoCartesiano.botConjuntosActionPerformed(productoCartes
iano.java:373)
        at 1mpuls0.productoCartesiano.access$000(productoCartesiano.java:12)
        at 1mpuls0.productoCartesiano$1.actionPerformed(productoCartesiano.java:
118)
        at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:19
95)
        at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.jav
a:2318)
        at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel
.java:387)
        at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:242
)
        at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonL
istener.java:236)
        at java.awt.Component.processMouseEvent(Component.java:6038)
        at javax.swing.JComponent.processMouseEvent(JComponent.java:3265)
        at java.awt.Component.processEvent(Component.java:5803)
        at java.awt.Container.processEvent(Container.java:2058)
        at java.awt.Component.dispatchEventImpl(Component.java:4410)
        at java.awt.Container.dispatchEventImpl(Container.java:2116)
        at java.awt.Component.dispatchEvent(Component.java:4240)
        at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4322
)
        at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3986)

        at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3916)
        at java.awt.Container.dispatchEventImpl(Container.java:2102)
        at java.awt.Window.dispatchEventImpl(Window.java:2429)
        at java.awt.Component.dispatchEvent(Component.java:4240)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThre
ad.java:273)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.
java:183)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThre
ad.java:173)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)

        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)

        at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)
Press any key to continue...


« Última modificación: 3 Septiembre 2015, 18:22 pm por 1mpuls0 » En línea

abc
juancho77


Desconectado Desconectado

Mensajes: 455


rie con demencia


Ver Perfil
Re: Excepcion al cancelar una ventana
« Respuesta #1 en: 14 Octubre 2008, 06:28 am »

Citar
java.lang.NullPointerException

El "return" de ese metodo devuelve nombreBoton. Si haces click en cancelar, se producen las excepciones que son correctamente atrapadas en el codigo porque se intenta operar con un String nulo. Debes incluir codigo para atrapar la excepcion que se produciria al final si intentas retornar nombreBoton como nulo.
Por ejemplo:

     
Código
  1. try {
  2.         return nombreBoton;
  3.       }
  4.       catch (Exception e) { return null }
  5.  
  6.  

Eso te soluciona el error en el metodo que posteaste.
Saludos


En línea

1mpuls0


Desconectado Desconectado

Mensajes: 1.186


Ver Perfil
Re: Excepcion al cancelar una ventana
« Respuesta #2 en: 14 Octubre 2008, 08:38 am »

     
Código
  1. try {
  2.         return nombreBoton;
  3.       }
  4.       catch (Exception e) { return null }
  5.  
  6.  

Eso te soluciona el error en el metodo que posteaste.
Saludos

Hola si me funciono para el momento en que se cierra la ventana pero aun asi cuando cancelo el JOptionPane me retorna null y crea un boton sin nombre!!, pero para mi trabajo creo que no hay problema! aunque si me hubiera gustado que no regresara el valor en caso de que se cancelara o cerra la ventana


saludos
En línea

abc
juancho77


Desconectado Desconectado

Mensajes: 455


rie con demencia


Ver Perfil
Re: Excepcion al cancelar una ventana
« Respuesta #3 en: 15 Octubre 2008, 19:09 pm »

Y claro, porque llamas al Dialog desde una instruccion setText() del boton. Entonces, cuando retorna null crea un String null para el texto del boton. Para solucionar eso tendrias que poner la llamada al dialog en otra parte. Por ejemplo:
Código
  1. String textoBoton = JOptionPane.showMessageDialog();
  2. if (! textoBoton.equals(null))  //si textoBoton no es igual a null
  3.        // establecerel texto del boton
  4. else  //si textoBoton es null
  5.       // mostras un mensaje de error o pones un nombre generico.
   
En línea

1mpuls0


Desconectado Desconectado

Mensajes: 1.186


Ver Perfil
Re: Excepcion al cancelar una ventana
« Respuesta #4 en: 17 Octubre 2008, 09:01 am »

A oks si que me ha servido, como no pensarlo antes xD, buen gracias...   ;D
gracias juancho77

Citar:
String textoBoton = JOptionPane.showMessageDialog();if (! textoBoton.equals(null))  //si textoBoton no es igual a null        // establecerel texto del botonelse  //si textoBoton es null       // mostras un mensaje de error o pones un nombre generico.
En línea

abc
Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
¿Como cancelar conexión en PHP?
PHP
>FedeX< 0 1,182 Último mensaje 11 Mayo 2007, 22:13 pm
por >FedeX<
abrir un ventana emergente y una nueva ventana al tiempo con un solo clip
Desarrollo Web
virtualpc 5 3,203 Último mensaje 18 Noviembre 2012, 22:32 pm
por virtualpc
Como crear una ventana secundaria MS-DOS y controlarla desde otra ventana MS-DOS
Hacking
MrFridunathh 1 1,856 Último mensaje 25 Julio 2014, 12:42 pm
por MrFridunathh
cancelar upload de un fichero
Desarrollo Web
yoelrodguez 3 1,143 Último mensaje 8 Agosto 2014, 14:32 pm
por yoelrodguez
Cancelar cuentas adsense
Dudas Generales
bgnumis 2 944 Último mensaje 8 Septiembre 2019, 20:04 pm
por percentil101
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines