Sólo tienes que poner las variables cad1 y cad 2 como atributos de la clase.
Código Java:
Ver originalimport javax.swing.*;
import java.awt.event.*;
private String cad1
= null, cad2
= null; public Formulario (){
setLayout(null);
textfield1.setBounds(10, 10, 100, 50);
add(textfield1);
boton1.setBounds(10, 130, 50, 50);
add(boton1);
boton2.setBounds(120, 130, 50, 50);
add(boton2);
boton1.addActionListener(this);
boton2.addActionListener(this);
}
if (e.getSource()==boton1){
cad1= textfield1.getText();
textfield1.setText(null);
}
if (e.getSource()==boton2){
cad2= textfield1.getText();
int suma= x+y;
textfield1.setText(null);
textfield1.setText(resultado);
}
}
public static void main
(String[]ar
){ Formulario calc= new Formulario();
calc.setBounds(800, 400, 500, 500);
calc.setResizable(false);
calc.setVisible(true);
}
}
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.