import javax.swing.*;  // java swing sinifini cagir
import java.awt.*;          // java pencere kullanma sinifini cagir
import java.awt.event.*;    //  java pencereyi dinleme sinifini cagir
import kompleks;

public class kompleksTesti_2000 extends JApplet implements ActionListener
{
    //
    //=====================================================
    // sinif degiskenleri
    // bu degiskenler tum sınıfa aittir
    JLabel kutubasligi1;       //JLabel sinifi degiskeni (nesnesi) kutubasligi1
    JTextField kutugirdisi1;   // Textfield sinifi degiskeni (nesnesi) kutugirdisi1
    JLabel kutubasligi2;       //JLabel sinifi degiskeni (nesnesi) kutubasligi2
    JTextField kutugirdisi2;   // JTextfield sinifi degiskeni (nesnesi) kutugirdisi2
    JTextField kutugirdisi3;   // JTextfield sinifi degiskeni (nesnesi) kutugirdisi2
    JTextField kutugirdisi4;   // JTextfield sinifi degiskeni (nesnesi) kutugirdisi2
    JTextArea cikti;           // JTextArea sınıfı değişkeni (nesnesi) cikti
    kompleks k1;              // kompleks degisken k1
    kompleks k2;              // kompleks degisken k2
    //=====================================================
    // pencereyi baslatma metodu
    // pencere ilk basladiginda
    // degiskenler buradaki degerleri alirlar
    public void init()
    {
    k1=new kompleks(1,2);
    k2=new kompleks(2,4);
    Container c=getContentPane();
    c.setLayout(new FlowLayout());
    kutubasligi1=new JLabel("Birinci kompleks sayıyı giriniz : ");
    c.add(kutubasligi1);
    kutugirdisi1=new JTextField(5);
    kutugirdisi1.addActionListener(this);
    c.add(kutugirdisi1);
    kutugirdisi2=new JTextField(5);
    kutugirdisi2.addActionListener(this);
    c.add(kutugirdisi2);
    kutubasligi2=new JLabel("İkinci kompleks sayıyı giriniz : ");
    c.add(kutubasligi2);
    kutugirdisi3=new JTextField(5);
    kutugirdisi3.addActionListener(this);
    c.add(kutugirdisi3);
    kutugirdisi4=new JTextField(5);
    kutugirdisi4.addActionListener(this);
    c.add(kutugirdisi4);
    cikti=new JTextArea( toString());
    cikti.setBackground(c.getBackground());
    c.add(cikti);
    }

    public String toString()
    {
    String s="";
    s+="ilk sayi            : "+k1.toString()+"\n";
    s+="ikinci sayi         : "+k2.toString()+"\n";
    s+="iki sayinin toplami : "+kompleks.toString(kompleks.topla(k1,k2))+"\n";
    s+="iki sayinin farki   : "+kompleks.toString(kompleks.cikar(k1,k2))+"\n";
    s+="iki sayinin carpimi : "+kompleks.toString(kompleks.carp(k1,k2))+"\n";
    s+="iki sayinin bolumu  : "+kompleks.toString(kompleks.bol(k1,k2))+"\n";
    return s;
    }

    //=====================================================
    // girdi alanindaki olan olaylari dinleme metodu
    // Her yeni rakam girildiginde bu metod cagirilir
    public void actionPerformed(ActionEvent e)
    {
       Double sayi1,sayi2,sayi3,sayi4;
       sayi1=new Double(kutugirdisi1.getText() );
       sayi2=new Double(kutugirdisi2.getText() );
       sayi3=new Double(kutugirdisi3.getText() );
       sayi4=new Double(kutugirdisi4.getText() );
       showStatus("Hesaplanıyor....");
       k1.kompleksgir(sayi1.doubleValue(),sayi2.doubleValue());
       k2.kompleksgir(sayi3.doubleValue(),sayi4.doubleValue());
       showStatus("Hesaplandı");
       cikti.setText(toString());
       repaint();//pencereyi yeniden çiz
    }
    //=====================================================

}
