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;
import BasicWindowMonitor;

public class H4OD4_2000  extends JFrame 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
    JTextField kutugirdisi2;   // JTextfield sinifi degiskeni (nesnesi) kutugirdisi2
    JTextArea cikti;           // JTextArea sınıfı değişkeni (nesnesi) cikti
    kompleks k1;               // kompleks degisken k1
    //=====================================================
    // pencereyi baslatma metodu
    // pencere ilk basladiginda
    // degiskenler buradaki degerleri alirlar
    public H4OD4_2000()
    {
    super("kompleks sayı karekök testi H4OD4_2000, frame format");
    k1=new kompleks(1.0,1.0);
    Container c=getContentPane();
    c.setLayout(new FlowLayout());
    kutubasligi1=new JLabel("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);
    cikti=new JTextArea(toString());
    cikti.setBackground(c.getBackground());
    c.add(cikti);
    }
    //=====================================================

    public String toString()
    {
    String s="";
    s+="kompleks sayı             : "+k1.toString()+"\n";
    s+="kompleks sayının karekökü : "+kompleks.toString(kompleks.karekok(k1))+"\n";
    s+="kompleks sayının karesi   : "+kompleks.toString(kompleks.kare(k1))+"\n";
  return s;
    }
    // girdi alanindaki olan olaylari dinleme metodu
    // Her yeni rakam girildiginde bu metod cagirilir

    public void actionPerformed(ActionEvent e)
    {
       k1.kompleksgir(Double.parseDouble(kutugirdisi1.getText()),
                      Double.parseDouble(kutugirdisi2.getText()));
       cikti.setText(toString());
    }
    //=====================================================

      public static void main(String[] args)
      {
      H4OD4_2000 pencere= new H4OD4_2000();
      pencere.addWindowListener(new BasicWindowMonitor());
      pencere.setSize(500,200);
      pencere.setVisible(true);
      }
}
