actionEvent.getSource !AYUDA¡

gamodi_aviacion
11 de Enero del 2006
Que tal a todos, de nuevo solicitando su gran ayuda.

Lo que pasa es que tengo dos JTextField, ¿como le hago para que al presionar Enter, sepa que instrucciones hacer?

Ejemplo. tengo que escribir en un JTextField una temperatura en grados F, y mostrar su equivalente en grados C en el otro JTextField, y viceversa.

Pongo lo que he escrito a ver si me pueden ayudar.
Gracias.

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;


public class Ejer_6_23 extends JApplet implements ActionListener{
JLabel etiquetaF, etiquetaC;
JTextField campoF, campoC, prueba;

public void init() {
Container contenedor = getContentPane();
contenedor.setLayout(new FlowLayout());

setSize(300, 200);

etiquetaF = new JLabel("Grados Fahrenheit");
contenedor.add(etiquetaF);

campoF = new JTextField(10);
campoF.addActionListener(this); // ¿Tengo que escribir esta instruccion aqui?
contenedor.add(campoF);

etiquetaC = new JLabel("Grados Centigrados");
contenedor.add(etiquetaC);

campoC = new JTextField(10);
campoC.addActionListener(this); //¿Tengo que escribir esta instruccion aqui?
contenedor.add(campoC);

prueba = new JTextField(10);
contenedor.add(prueba);
}

public void actionPerformed(ActionEvent event)
{
if (ActionEvent.getSource() == campoC) //campoC es el nombre de uno de los
//JTextFiled
{
//lista de instrucciones;
}
else
{
//lista de instrucciones;
}
}

}

Carlos
11 de Enero del 2006
Hola,

el addActionListener ahi estaria bien.

Lo que veo un poco raro es el ActionEvent.getSource(), eso te compila?? yo pondria lo siguente:

public void actionPerformed(ActionEvent event) {
if (event.getSource().equals(campoC)) {
//lista de instrucciones para campo C
}
else {
if (event.getSource().equals(campoF)){ //Esta instrucción la puedes omitir si no tienes más JTextField
//Lista de intrucciones para campoF
}
}
}