Newsgroup: it.comp.java
Titolo: Aiuto

Per piacere qualcuno mi puo' aiutare a cpire come funzione il metodo 
getSource?
il programma seguente visualizza le temp da fahrenheit a celsius ma nn 
viceversa aiutpo.... plz
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class temperature extends JApplet implements ActionListener
{
 // variabili
 JLabel l1,l2;
 JTextField t1,t2;
 JButton b1;
 public void init()
 {
  //preparo interfaccia
  l1=new JLabel ("Celsius");
  l2=new JLabel ("Fahrheneit");
  t1=new JTextField(10);
  t2= new JTextField(10);
  b1= new JButton ("Ok");
  b1.addActionListener(this);
  Container c=getContentPane();
  c.setLayout(new FlowLayout());
  c.add(l1);
  c.add(t1);
  c.add(l2);
  c.add(t2);
  c.add(b1);
 }
 public void actionPerformed(ActionEvent event)
 {
  if( (event.getSource()==t1))
  {
   double tC=Double.parseDouble(t1.getText());
   t2.setText(Double.toString(celsius(tC)));}
   else{
                 double tF=Double.parseDouble(t2.getText());
       t1.setText(Double.toString(celsius(tF)));}}
public double celsius(double  tF)
{
 double y=5.0/9.0*(tF-32);
 return Math.floor(y*100+.5)/100;
}
public double fahrenheit(double tC)
{
 double y=9.0/5.0*tC+32;
 return Math.floor(y*100+.5)/100;
}
}

        t1.setText(Double.toString(celsius(tF)));}}
        t1.setText(Double.toString(fahrenheit(tF)));}}
Se il metodo non lo chiami e' difficile che che si ottenga un risultato
--
a.cara

 ha scritto nel messaggio 
news:efQze.10577$b93....@tornado.fastwebnet.it...


uhm... per quel pochissimo che ne so di java in forma GUI io l'ho cambiato
in questo modo... sembra che funzioni! (non come applet però!)
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
public class Temp extends JFrame {
    JLabel l1,l2;
    JTextField t1,t2;
    JButton b1;   
    JPanel p1;
    public Temp() {
        initComponents();
        l1=new JLabel ("Celsius");
        l2=new JLabel ("Fahrheneit");
        t1=new JTextField(10);
        t2= new JTextField(10);
        b1= new JButton ("Ok");
        b1.addActionListener(new ActionListener(){
                public void actionPerformed(ActionEvent e){
                    if((e.getSource()==t1)) {
                        double tC=Double.parseDouble(t1.getText());
                        t2.setText(Double.toString(celsius(tC)));
                    } else {
                        double tF=Double.parseDouble(t2.getText());
                        t1.setText(Double.toString(celsius(tF)));
                    }
                }
        });
        Container c=getContentPane();
        c.setLayout(new FlowLayout());
        p1 = new JPanel();
        c.add(l1);
        c.add(t1);
        c.add(l2);
        c.add(t2);
        c.add(b1);
        setSize(400,400);
    }
 
    private void initComponents() {                          
        setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
        pack();
    }                        
 
    public static void main(String args[]) {
        EventQueue.invokeLater(new Runnable() {
            public void run() {
                new Temp().setVisible(true);
            }
        });


   if( (event.getSource()==t1))
Hai associato l'actionlistener al bottone e poi controlli che il source 
sia un jtextfield? Questo ti entra per forza nel ramo else e ti converte 
sempre e solo da F a C.
Saluti
CarMas