Foros del Web » Programación para mayores de 30 ;) » Java »

Sumatoria de valores numericos en campos autogenerados

Estas en el tema de Sumatoria de valores numericos en campos autogenerados en el foro de Java en Foros del Web. Hola que tal, tengo el sigueinte problema: En mi aplicacion tengo un campo el cual cuando cambia de valor, me genera n cantidad de campos ...
  #1 (permalink)  
Antiguo 27/04/2016, 11:12
Avatar de DanX03  
Fecha de Ingreso: septiembre-2007
Ubicación: México D.F.
Mensajes: 148
Antigüedad: 16 años, 6 meses
Puntos: 3
Sumatoria de valores numericos en campos autogenerados

Hola que tal, tengo el sigueinte problema:

En mi aplicacion tengo un campo el cual cuando cambia de valor, me genera n cantidad de campos nuevos de acuerdo al valor que se ingreso, mi pregunta es ¿cómo puedo sumar los valores que se ingresen en dichos campos?

Estoy utilizando el siguiente codigo para generar los campos:

Código java:
Ver original
  1. private void txtnumeroFocusLost(java.awt.event.FocusEvent evt) {                                    
  2.         int numero=Integer.parseInt(txtnumero.getText()),conteo;
  3.         for(conteo=1;conteo<=numero;conteo++)
  4.         {   mi_panel.Mi_Componente();}
  5.     }

Los campos estan en un panel fuera de la form principal, este es el codigo que los contiene:

Código java:
Ver original
  1. public jpComponente( int index ) {
  2.         initComponents();
  3.         //JPanel
  4.         setBorder(javax.swing.BorderFactory.createEtchedBorder(javax.swing.border.EtchedBorder.RAISED));
  5.         this.setSize(230, 30);
  6.         this.setVisible(true);
  7.         //se agrega un comando al boton
  8.         this.btn.setActionCommand("key_" + index);
  9. }

y este es el codigo que escucha los eventos

Código java:
Ver original
  1. import java.awt.Color;
  2. import java.awt.FlowLayout;
  3. import java.awt.event.ActionEvent;
  4. import java.awt.event.ActionListener;
  5. import java.util.HashMap;
  6. import java.util.Iterator;
  7. import java.util.Map;
  8. import javax.swing.BorderFactory;
  9. import javax.swing.JOptionPane;
  10. import javax.swing.JPanel;
  11.  
  12. public class jcPanel extends JPanel implements ActionListener {
  13.  
  14.     private int index = 1;
  15.     //Nos sirve para almacenar a los objetos creados
  16.     private Map nota = new HashMap();
  17.  
  18.     public jcPanel()
  19.     {
  20.         this.setSize(300, 400);
  21.         this.setVisible(true);
  22.         this.setBorder(BorderFactory.createLineBorder( Color.BLACK ));
  23.         this.setLayout( new FlowLayout() );
  24.     }
  25.  
  26.     public void Mi_Componente()
  27.     {        
  28.         //instancia nueva a componente
  29.         jpComponente jpc = new jpComponente(index);
  30.         jpc.btn.addActionListener(this);//escucha eventos
  31.         this.add(jpc);//se añade al jpanel
  32.         this.validate();
  33.         //se añade al MAP
  34.         this.nota.put("key_" + index, jpc );
  35.         //se incrementa contador de componentes
  36.         index++;
  37.     }
  38.  
  39.     public void actionPerformed(ActionEvent e) {
  40.         //se obtiene el comando ejecutado
  41.         String comando = e.getActionCommand();
  42.         //se recorre el MAP
  43.         Iterator it = nota.entrySet().iterator();
  44.         while (it.hasNext()) {
  45.             Map.Entry entry = (Map.Entry)it.next();
  46.             //se obtiene el KEY -> identificador unico
  47.             String itm = entry.getKey().toString();
  48.             //si comando de componente es igual a comando pulsado
  49.             if( itm.equals(comando))
  50.             {
  51.                 //se recupera el contenido del JTextfield
  52.                 String name = ((jpComponente) entry.getValue()).txtName.getText();
  53.                 //mostramos resultado
  54.                 JOptionPane.showMessageDialog(null, "Se presiono boton " + itm + " \n Hola " + name);
  55.             }
  56.         }
  57.     }
  58.  
  59. }
  #2 (permalink)  
Antiguo 02/05/2016, 16:31
Avatar de DanX03  
Fecha de Ingreso: septiembre-2007
Ubicación: México D.F.
Mensajes: 148
Antigüedad: 16 años, 6 meses
Puntos: 3
Respuesta: Sumatoria de valores numericos en campos autogenerados

Ya encontre la solucion, lo que debes hacer es generar las operaciones dentro de los objetos del panel que contiene dichos elementos y si deseas tener un resultado global debes declarar una variable global que contenga dicho valor, para poder llamarla en cuanto sea necesario.

Etiquetas: netbeans
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:43.