Foro sobre Java SE > Poner el valor de una multiplicacion en un JLabel
Si no pones el error que te da dificilmente te podremos ayudar.
Copia la traza completa y veremos.
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.
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
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)
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));
}
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
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
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...
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
mi ra ju4n este es el link gracias por ayudarme:
http://pastebin.com/CkC29CRK
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....
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
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....
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??
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