Buscar
Social
Ofertas laborales ES

Foro sobre Java SE > Poner el valor de una multiplicacion en un JLabel

Hola estoy desarrollando una aplicacion y me e enfrentado con un problemita les explico:

tengo un txtcantidad y un txtcostounitario quiero poner el costo total en un jLabel pero no se muy bien como tengo la idea qu es la siguiente:

obtener el valor de los dos txt con un text.getText() pasarlo a entero con Integer.parse() hacer la utiplicacion y pasar el resultado a otra variable la cual la paso a string para ponerla en la Jlabel con label.setText() pero me marca error por que sera espero me puedan ayudar
si no es molestia

mayo 29, 2012 | Unregistered Commenterghoostiel

Si no pones el error que te da dificilmente te podremos ayudar.
Copia la traza completa y veremos.

mayo 29, 2012 | Unregistered Commenterfileal_v

Igual es un error tipográfico, pero el método es Integer.parseInt(String s)

http://docs.oracle.com/javase/7/docs/api/java/lang/Integer.html#parseInt(java.lang.String)

Ese método puede lanzar una excepción:

http://docs.oracle.com/javase/7/docs/api/java/lang/NumberFormatException.html

que deberías capturar o relanzar si no estás completamente seguro de que el String se puede parsear sin problemas.

mayo 29, 2012 | Registered Commenterchoces

pues esque estoy usando netbeans y al ejecutar la clase si arranca pero despues en la parte de abajo de la pantalla aparece palabras en rojo el codigo que tengo es algo asi:
if (costounitario.gettext() != ""){
string cadena = txtcantidad.gettext();
int enterocadena = Integer.parseInt(cadena);

string cadena2 = txtcostounitario.gettext();
int cadena2 = Integer.parseInt(cadena2);

int total = cadena1*cadena2;

String cadenatotal = String.valueOf(total);

labelTotal.set(cadenatotal);
}

me podrian decir si esta bien mi sintaxis lo qu esta pequeño trazo tiene k hacer es que cuando el campo de costo total esta lleno con un valor obtenga los valores de los campos de texto de cantidad y precio unitario los multiplique para sacer un valor de un total el cual se tendra que visualizar en una etiquea del mismo formulario

mayo 30, 2012 | Unregistered Commenterghoostiel

mira filial_v esto es lo que me sale:
Exception in thread "AWT-EventQueue-0" java.lang.NumberFormatException: For input string: ""
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Integer.parseInt(Integer.java:504)
at java.lang.Integer.parseInt(Integer.java:527)
at sistemacambaseo.ventanaMenu.actionPerformed(ventanaMenu.java:124)
at javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2018)
at javax.swing.AbstractButton$Handler.actionPerformed(AbstractButton.java:2341)
at javax.swing.DefaultButtonModel.fireActionPerformed(DefaultButtonModel.java:402)
at javax.swing.DefaultButtonModel.setPressed(DefaultButtonModel.java:259)
at javax.swing.AbstractButton.doClick(AbstractButton.java:376)
at javax.swing.plaf.basic.BasicMenuItemUI.doClick(BasicMenuItemUI.java:833)
at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(BasicMenuItemUI.java:877)
at java.awt.Component.processMouseEvent(Component.java:6504)
at javax.swing.JComponent.processMouseEvent(JComponent.java:3321)
at java.awt.Component.processEvent(Component.java:6269)
at java.awt.Container.processEvent(Container.java:2229)
at java.awt.Component.dispatchEventImpl(Component.java:4860)
at java.awt.Container.dispatchEventImpl(Container.java:2287)
at java.awt.Component.dispatchEvent(Component.java:4686)
at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4832)
at java.awt.LightweightDispatcher.processMouseEvent(Container.java:4492)
at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4422)
at java.awt.Container.dispatchEventImpl(Container.java:2273)
at java.awt.Window.dispatchEventImpl(Window.java:2713)
at java.awt.Component.dispatchEvent(Component.java:4686)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:707)
at java.awt.EventQueue.access$000(EventQueue.java:101)
at java.awt.EventQueue$3.run(EventQueue.java:666)
at java.awt.EventQueue$3.run(EventQueue.java:664)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:87)
at java.awt.EventQueue$4.run(EventQueue.java:680)
at java.awt.EventQueue$4.run(EventQueue.java:678)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$1.doIntersectionPrivilege(ProtectionDomain.java:76)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:677)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:211)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:128)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:117)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:113)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:90)

mayo 30, 2012 | Unregistered Commenterghoostiel

ya cambie mi codigo a este pero no se pone nada en la etique alguin podria decirme por que??

if( !"".equals(txtprecioUnitario.getText())){

cadena1 = txtCantidad.getText();
entero1 = Integer.parseInt( cadena1 );
cadena2 = txtprecioUnitario.getText();
entero2 = Integer.parseInt( cadena2 );
resultado = entero1 * entero2;
lblEltotal.setText(String.valueOf(resultado));
}

mayo 30, 2012 | Unregistered Commenterghoostiel

Viendo por encima el codigo creo que es problema de validacion. Es decir, que pasa si txtCantidad.getText() retorna un null o un "" (vacio)...si tratas de pasar esto a entero te da error.

esto seria facil de controlar si capturas la excepcion con
try {
....aqui tu codigo
} catch ( NumberFormatException ex ) {
.....aqui lo que quieras hacer si los campos estan vacios y tratan de calcular el total...
}

OJO: no me suena mucho esta parte ...if( !"".equals(txtprecioUnitario.getText())){

seria mejor si colocaras if ( !txtprecioUnitario.getText().isEmpty() ) que diria "si no es vacio"

ojala y te sirva...saludos

mayo 30, 2012 | Registered Commenterju4n

hola ju4n lo que quiero validas es que si el valor de el campode texto costo unitario es distinto de null realice la obtencion de los valores campo cantidad y costo unitario para calcular el costo total y ponerlo en una etiqueta antes tenia lo siguiente

if (txtprecioUnitario.getText() != ""){

mi codigo

}

pero el netbeans me decia al ejecutarlo todo lo que esta arriba posteado y con las teclas ctrl + enter te da la sugerencias y me puso if(!"".equals(txtprecioUnitario.getText())) como ves entonces crees que si pongo el try ya se solucione y me ponga el valor de la etiqueta por que mis variables enteras y string que uso para las conversiones las inicialice en 0

si pongo el codigo enotro post serias tan amable de analizarlo??? soy nuevo programando

mayo 30, 2012 | Unregistered Commenterghoostiel

vale compa...si queres para que sea mas legible pegalo en pastebin.com y colocas aqui el enlace....yo lo miro y te lo devulvo sin errores y comentado para que entiendas que se cambio...

mayo 30, 2012 | Registered Commenterju4n

1 ) haces: Integer.parseInt(txtPrecioUnitario.getText()) => el precio no puede ser "3.2"? o sea con decimales... esto podría ser lo que lanzaba el NumberFormatException...

2) la etiqueta tiene setVisible(true)?

3) te fijaste que la etiqueta este en una zona visible/logica/qseyo de algún panel?

4) puede ser (tendrías demasiada mala suerte) q el color de letra de la etiqueta tenga el mismo color q el fondo del panel q lo contiene...

y otras 343 millones de causas mas... fijate

mayo 31, 2012 | Unregistered Commenteremas

mi ra ju4n este es el link gracias por ayudarme:
http://pastebin.com/CkC29CRK

mayo 31, 2012 | Unregistered Commenterghoostiel

Compa la idea es que lo vamos construyendo poco a poco hasta que funcione como queres....

esto fue lo que hice...la vista nu es muy buena, pero se entiende...

http://pastebin.com/LnZA85nw

cualquier duda con gusto le colaboro....

mayo 31, 2012 | Registered Commenterju4n

OK JU4N pero creo k me kede mas enrredado jajajajaja oye por k grid ahora no es null??
y orsosamente necesito hacer un boton y/o evento para calcular el precio total

junio 1, 2012 | Unregistered Commenterghoostiel

Compa los layout los puede modificar como mas le guste...yo normalmente trabajo sobre la consola...no soy muy fan de las interface graficas...

la parte del boton, no es simpre necesaria...es deacuerdo a la logica que apliques....me imagino que estas trabajando desde una base de datos....el unico cambio que tenes que hacer es que cuando recuperes los datos, selecciona los que tenga que multiplicar y haces lo mismo que coloque en ese metodo...pasarlos a int luego multiplicar y luego de uevo a string....

junio 1, 2012 | Registered Commenterju4n

oye pero no pude hacer que aparesaca el resultado de a multiplicacion sin ponerlo en un evento asi k pues estoy forsado en poner un boton de echo ya lo puse y ya me funciona bien gracias a ti man pero me gustaria mas si me dices como hacer para que se ponga el esultado de la multiplicacion con solo teclear los valores en los camposdetexto de cantidad y presio unitaro sin tener que presional algun boton se puede hacer eso??

junio 1, 2012 | Unregistered Commenterghoostiel