import javax.swing.*;
import javax.swing.event.*;
import java.awt.*;
import java.awt.event.*;
//import yildizSW;
//import yildizPanelSWP;
//import renk;

public class H7AL1_2000 extends JApplet implements ActionListener,
ListSelectionListener
{
   int n1,xi1,yi1,yaricap1;
   double aci1;
   renk renk; //sinifin adi renk, nesne adi renk
   JLabel kutu1;
   JLabel kutu2;
   JLabel kutu3;
   JLabel kutu4;
   JLabel kutu5;
   JLabel renk2;
   private String Renkler[]={"kirmizi","mavi","siyah","camgobegi",
   "koyugri","gri","yesil","acikgri","mor","portakal","pembe","beyaz",
   "sari","acikmavi","lacivert"};
   private JList arkaPlanRenkListesi;
   private renk r[]={renk.kirmizi,renk.mavi,renk.siyah,renk.camgobegi,
   renk.koyugri,renk.gri,renk.yesil,renk.acikgri,renk.mor,renk.portakal,
   renk.pembe,renk.beyaz,renk.sari,renk.acikmavi,renk.lacivert};
   JTextField kutugir1;
   JTextField kutugir2;
   JTextField kutugir3;
   JTextField kutugir4;
   JTextField kutugir5;
   JPanel p,p1,p2;
   yildizPanelSWP yp;
   Container c;


public void init(){
  //not : init metodunda tüm değişkenlerin ilk değerleri verilmelidir.
  c=getContentPane();
  setBackground(renk.beyaz);
  p=new JPanel();
  p.setLayout(new GridLayout(3,4));
  p.setBackground(renk.beyaz);
  //3*4 tablo p paneli hazırlandı
  p1=new JPanel();
  p1.setLayout(new GridLayout(1,4));
  p1.setBackground(renk.beyaz);
  arkaPlanRenkListesi=new JList(Renkler);
  arkaPlanRenkListesi.setVisibleRowCount(3);
  arkaPlanRenkListesi.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
  kutu1=new JLabel("xi noktasini giriniz     :");
  p.add(kutu1);
  kutugir1=new JTextField(3);
  p.add(kutugir1);
  kutu2=new JLabel("yi noktasini giriniz     :");
  p.add(kutu2);
  kutugir2=new JTextField(3);
  p.add(kutugir2);
  kutu3=new JLabel("kose sayisini giriniz    :");
  p.add(kutu3);
  kutugir3=new JTextField(3);
  p.add(kutugir3);

  kutu4=new JLabel("yaricapi giriniz         :");
  p.add(kutu4);
  kutugir4=new JTextField(3);
  p.add(kutugir4);

  kutu5=new JLabel("aciyi giriniz (derece)   :");
  p.add(kutu5);
  kutugir5=new JTextField(3);
  p.add(kutugir5);

  renk2=new JLabel("arka plan rengi :");
  xi1=300;
  yi1=300;
  n1=5;
  yaricap1=100;
  aci1=0;
  kutugir1.setText(""+xi1);
  kutugir2.setText(""+yi1);
  kutugir3.setText(""+n1);
  kutugir4.setText(""+yaricap1);
  kutugir5.setText(""+aci1);
  renk=new renk(255,200,0);
  //elemanlar p ve p1 paneline p ve p1 paneli de aplete eklendi
  kutugir1.addActionListener(this);
  kutugir2.addActionListener(this);
  kutugir3.addActionListener(this);
  kutugir4.addActionListener(this);
  kutugir5.addActionListener(this);
  arkaPlanRenkListesi.addListSelectionListener(this);
  JScrollPane aprl=new JScrollPane(arkaPlanRenkListesi);
  p1.add(renk2);
  p1.add(aprl);
  yp=new yildizPanelSWP(xi1,yi1,yaricap1,n1,aci1);
  JPanel p2=new JPanel();
  p2.setLayout(new GridLayout(2,1));
  p2.add(p);
  p2.add(p1);
  c.add(p2,BorderLayout.NORTH);
  c.add(yp,BorderLayout.CENTER);
}


public void actionPerformed(ActionEvent e)
{
  int indeks=arkaPlanRenkListesi.getSelectedIndex();
  if(indeks!=-1)
  {
  c.setBackground(r[indeks]);
  p.setBackground(r[indeks]);
  p1.setBackground(r[indeks]);
  kutu1.setBackground(r[indeks]);
  kutu2.setBackground(r[indeks]);
  kutu3.setBackground(r[indeks]);
  kutu4.setBackground(r[indeks]);
  kutu5.setBackground(r[indeks]);
  renk2.setBackground(r[indeks]);
  }
  Integer xi1i=new Integer(kutugir1.getText());
  xi1=xi1i.intValue();
  Integer yi1i=new Integer(kutugir2.getText());
  yi1=yi1i.intValue();
  Integer n1i=new Integer(kutugir3.getText());
  n1=n1i.intValue();
  Integer yaricapi=new Integer(kutugir4.getText());
  yaricap1=yaricapi.intValue();
  Double aci1i=new Double(kutugir5.getText());
  aci1=aci1i.doubleValue();
  yp.setYildizPanelSWP(xi1,yi1,yaricap1,n1,aci1);
  yp.setBackground(r[indeks]);
  repaint();
}

public void valueChanged(ListSelectionEvent e)
{
  int indeks=arkaPlanRenkListesi.getSelectedIndex();
  if(indeks!=-1)
  {
  c.setBackground(r[indeks]);
  yp.setBackground(r[indeks]);
  p.setBackground(r[indeks]);
  p1.setBackground(r[indeks]);
  kutu1.setBackground(r[indeks]);
  kutu2.setBackground(r[indeks]);
  kutu3.setBackground(r[indeks]);
  kutu4.setBackground(r[indeks]);
  kutu5.setBackground(r[indeks]);
  renk2.setBackground(r[indeks]);
  }
  repaint();
}
    public static void main(String s[])
    {
        JFrame f = new JFrame("Yıldız çizdirme alıştırması");
        f.addWindowListener(new WindowAdapter() {
            public void windowClosing(WindowEvent e) {System.exit(0);}
        });
        JApplet applet = new H7AL1_2000();
        f.getContentPane().add("Center", applet);
        applet.init();
        f.pack();
        f.setSize(new Dimension(800,400));
        f.setVisible(true);
    }
}

