Ver Mensaje Individual
  #4 (permalink)  
Antiguo 10/11/2011, 15:46
alexg88
 
Fecha de Ingreso: abril-2011
Mensajes: 1.342
Antigüedad: 14 años
Puntos: 344
Respuesta: Mini Calculadora (Suma) - ¿Cómo separar y almacenar los 2 valores a sumar?

Sólo tienes que poner las variables cad1 y cad 2 como atributos de la clase.

Código Java:
Ver original
  1. import javax.swing.*;
  2. import java.awt.event.*;
  3.  
  4. public class Formulario extends JFrame implements ActionListener {
  5.    
  6.     private JTextField textfield1;
  7.     private JButton boton1, boton2;
  8.     private String cad1 = null, cad2= null;
  9.     public Formulario (){
  10.         setLayout(null);
  11.         textfield1= new JTextField();
  12.         textfield1.setBounds(10, 10, 100, 50);
  13.         add(textfield1);
  14.         boton1= new JButton("+");
  15.         boton1.setBounds(10, 130, 50, 50);
  16.         add(boton1);
  17.         boton2=new JButton ("=");
  18.         boton2.setBounds(120, 130, 50, 50);
  19.         add(boton2);
  20.         boton1.addActionListener(this);
  21.         boton2.addActionListener(this);
  22.     }
  23.    
  24.     public void actionPerformed (ActionEvent e){
  25.        
  26.         if (e.getSource()==boton1){
  27.             cad1= textfield1.getText();
  28.             textfield1.setText(null);
  29.         }
  30.        
  31.         if (e.getSource()==boton2){
  32.             cad2= textfield1.getText();
  33.             int x= Integer.parseInt(cad1);
  34.             int y= Integer.parseInt(cad2);
  35.             int suma= x+y;
  36.             String resultado= String.valueOf(suma);
  37.             textfield1.setText(null);
  38.             textfield1.setText(resultado);
  39.         }  
  40.     }
  41.    
  42.     public static void main (String[]ar){
  43.         Formulario calc= new Formulario();
  44.         calc.setBounds(800, 400, 500, 500);
  45.         calc.setResizable(false);
  46.         calc.setVisible(true);
  47.     }
  48.    
  49. }

Fíjate que tal y como lo tienes, las variables cad1 y cad2 son variables locales al métod actionPerformed, es decir, los valores de las variables desaparecen cuando se termina el método y por eso, al llamar la segunda vez, el valor de cad1 no es el que pusiste antes. Además, inicializas a null ambas variables, así que en ese caso se borrarían los valores que pudiesen tener antes si estos se guardasen.

Saludos.