Título: [Java] Error con actionPerformed
Publicado por: Lain0x en 3 Diciembre 2010, 16:22 pm
Hola, estoy haciendo un programa en Java en que una clase gráfica llama a una clase operaciones por medio de un objeto. El problema es que no se ejecuta correctamente, la verdad no hace nada. Clase gráfica (No está completa obviamente, sólo la parte en que se origina el error) La idea en ésta parte es que al presionar un botón se ingrese una cierta cantidad predeterminada, ésta cantidad es un String. El objeto p está declarado antes correctamente. private void b1ActionPerformed(java.awt.event.ActionEvent evt) { if(evt.getSource()==b1) new Operacion(); { String n=""; n = "10000";
t.setText(p.diezmil(n)+""); } } Clase Operación El método de ésta clase recibe al String, lo convierte a entero, aplica la fórmula y retorna un número. public class Operacion {
public int diezmil(String valor) { valor =""; int a = Integer.parseInt(valor); int bi10; bi10 = a/10000; a = a%10000;
return(bi10); } } Espero puedan ayudarme, gracias.
Título: Re: [Java] Error con actionPerformed
Publicado por: Dnk! en 3 Diciembre 2010, 17:41 pm
private void b1ActionPerformed(java.awt.event.ActionEvent evt) { Hay ya estas concretando en que el componete b1 ha entrado en el evento ActionPerformed(). Por lo que : if(evt.getSource()==b1) es inecesario. Prueba con esto: private void b1ActionPerformed (java. awt. event. ActionEvent evt ) { new Operacion(); n = "10000"; t.setText(p.diezmil(n)+""); }
Creo que hay esta el fallo, prueba y me dices.
Título: Re: [Java] Error con actionPerformed
Publicado por: Lain0x en 3 Diciembre 2010, 21:53 pm
Me arroja esto: Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException at NuevoCajero.b1ActionPerformed(NuevoCajero.java:152) at NuevoCajero.access$000(NuevoCajero.java:16) at NuevoCajero$1.actionPerformed(NuevoCajero.java:53) at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1849) at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2169) at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:420) at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:258) at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(BasicButtonListener.java:236) at java.awt.Component.processMouseEvent(Component.java:5517) at javax.swing.JComponent.processMouseEvent(JComponent.java:3135) at java.awt.Component.processEvent(Component.java:5282) at java.awt.Container.processEvent(Container.java:1966) at java.awt.Component.dispatchEventImpl(Component.java:3984) at java.awt.Container.dispatchEventImpl(Container.java:2024) at java.awt.Component.dispatchEvent(Component.java:3819) at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4212) at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3892) at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3822) at java.awt.Container.dispatchEventImpl(Container.java:2010) at java.awt.Window.dispatchEventImpl(Window.java:1791) at java.awt.Component.dispatchEvent(Component.java:3819) at java.awt.EventQueue.dispatchEvent(EventQueue.java:463) at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:242) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:163) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:157) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:149) at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
Título: Re: [Java] Error con actionPerformed
Publicado por: 1mpuls0 en 4 Diciembre 2010, 07:09 am
Hola que tal private void b1ActionPerformed(java.awt.event.ActionEvent evt) { if(evt.getSource()==b1) new Operacion(); { String n=""; n = "10000";
t.setText(p.diezmil(n)+""); } } D: No hace falta if(evt.getSource()==b1)
new Operacion();
:huh: n = "10000";
Igual a:
p.diezmil(n)+""
Por curiosidad como declaras tu objeto p?? +""
Lo mas correcto es usar el método String.valueOf(); Intenta con: private void b1ActionPerformed (java. awt. event. ActionEvent evt ) { t. setText(String. valueOf(new Operacion (). diezmil(n ))); } }
o con: private void b1ActionPerformed (java. awt. event. ActionEvent evt ) { Operacion p = new Operacion(); t. setText(String. valueOf(p. diezmil(n ))); } }
Ahora en esta parte: public class Operacion {
public int diezmil(String valor) { valor =""; int a = Integer.parseInt(valor); int bi10; bi10 = a/10000; a = a%10000;
return(bi10); } } valor ="";
WTH :huh: Para que le cambias el valor si vas a hacer el parse a int?, es como si hicieras
Y al intentar hacerlo te causa una error. Intenta con: public int diezmil (String valor ) { int bi10 = a/10000; a = a%10000; return bi10; }
Saludos.
|