Identificar que boton dentro de la visualización se activo.
Hola a todos, estoy iniciando con esto de la programación en Java, dentro del curso que estoy hacinedo estamos viendo el tema de entrada de datos y ejecución de operaciones por medio de eventos de usuario, el cuento es el applet que he construido tiene dos botones, y hasta ahora me han mostrado como manipular con un solo boton, la idea que quice desarrollar es poder hacer uso de dos botones, uno para calcular y otro para limpiar, pero no logro como hacer esto, adjunto el codigo a ver si me pueden hecha una mano. Gracias.
import java.awt.*;
import java.awt.event.*;
/**
*
* @author ceduardo
*/
public class LecturaDeDatos1 extends Applet implements ActionListener{
TextField txtValorA = new TextField(); // se crea el objeto texto
TextField txtValorB = new TextField(); // se crea el objeto texto
TextField txtValorC = new TextField(); // se crea el objeto texto
Button btnCalcula = new Button("Calcula"); // se crea el boton para calcular
Button btnLimpiar = new Button("Limpiar"); // se crea el boton para limpiar
double ValorR;
public LecturaDeDatos1() {
add(txtValorA); // se añade el texto a la pantalla
add(txtValorB); // se añade el texto a la pantalla
add(txtValorC); // se añade el texto a la pantalla
add(btnCalcula); // se añade el botón a la pantalla
add(btnLimpiar); // se añade el botón a la pantalla
btnCalcula.addActionListener(this); // se le añade al boton la facilidad de ser escuchado
btnLimpiar.addActionListener(this); // se le añade al boton la facilidad de ser escuchado
}//LecturaDeDatos
//Metodo para realizar las opciones al oprimir un boton
public void actionPerformed(ActionEvent e) {
if ("btnCalcula".equals(e.getActionCommand())){
ValorR = Integer.parseInt(txtValorA.getText()) + Integer.parseInt(txtValorB.getText());
txtValorC.setText("" + ValorR);
} else if ("btnLimpiar".equals(e.getActionCommand())){
txtValorA.setText("");
txtValorB.setText("");
txtValorC.setText("");
}//if ("btnCalcula".equals(e.getActionCommand()))
}//actionPerformed
}//LecturaDeDatos
- Inicie sesión o regístrese para enviar comentarios
¿Porqué no mejor tratas a
¿Porqué no mejor tratas a tus botones como objetos en lugar de tratarlos como texto?, es decir, podrías quitarles las comillas y sustituir el equals y el get ActionCommand por sólo un método:
public void actionPerformed(ActionEvent e) {
if ( ae.getSource( ) == btnCalcula ) { // aqui el cambio
ValorR = Integer.parseInt(txtValorA.getText()) + Integer.parseInt(txtValorB.getText());
txtValorC.setText("" + ValorR);
}
else if ( ae.getSource() == btnLimpiar){ // aqui el cambio
txtValorA.setText("");
txtValorB.setText("");
txtValorC.setText("");
} //fin if btnCalcula
} // fin actionPerformed
Espero que te sirva, saludos...