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 javax.swing.event.*;
import javax.swing.table.*;
import java.io.*;
import java.net.*;

public class LumatronPanelTest extends JFrame implements ActionListener,Serializable
{
    // Renk secme ornegi
    private JComboBox renkler;
    private JComboBox sekiller;
    private JTextArea te1,te2;
    private LumatronPanel p;
    private JPanel p1;
    private JPanel p2;
    private JPanel pp;
    private JScrollPane ss1,ss2,ss3;
    private boolean s1,flag;
    Color r=Color.lightGray;
    Container c;
    JTabbedPane jtp;
    Hypnosis h;
    JTable jt;
    private String toSekil[]={"grafik 1 : tam  daire",
                           "grafik 2 : iki  daire dilimi",
                           "grafik 3 : dört daire dilimi",
                           "grafik 4 : sekiz daire dilimi",
                           "grafik 5 : üçken yıldız",
                           "grafik 6 : dörtgen yıldız",
                           "grafik 7 : beşgen yıldız",
                           "grafik 8 : altıgen yıldız",
                           "grafik 9 : sekizgen yıldız",
                           "grafik 10: yirmigen yıldız",
                           "grafik 11: üçken",
                           "grafik 12: dörtgen",
                           "grafik 13: beşgen",
                           "grafik 14: altıgen",
                           "grafik 15: sekizgen",
                           "grafik 16: ongen"
                            };

    public LumatronPanelTest()
    {
    super("Lumatron Işık Terapi Sistemi; Copyright : Hüseyin Nazlı, Dr. M. Turhan Çoban; Version 2; Ağustos 2003");
    h=new Hypnosis(4);
    TableModel tm=new AbstractTableModel() {
      String[][] data={
{"Lumatron Rengi","Lumatron Frekansı","Etki ettiği beyin dalgası"},
{"Koyu Kırmızı    ","15 Hz","Beta (13 Hz üzeri)"},
{"Kırmızı         ","15 Hz","Beta (13 Hz üzeri)"},
{"Kırmızı-Portakal","15 Hz","Beta (13 Hz üzeri)"},
{"Portakal        ","14 Hz","Beta (13 Hz üzeri)"},
{"Sarı            ","13 Hz","Beta (13 Hz üzeri)"},
{"Sarı-Yeşil      ","11 Hz","Alfa (8-13 Hz)"},
{"Yeşil           ","10.5 Hz","Alfa (8-13 Hz)"},
{"Mavi-Yeşil      ","10 Hz","Alfa (8-13 Hz)"},
{"Mavi            ","9  Hz","Alfa (8-13 Hz)"},
{"Mor             ","8  Hz","Theta (4-8 Hz)"},
{"Menekşe         ","7  Hz","Theta (4-8 Hz)"},
{"Menekşe         ","6  Hz","Theta (4-8 Hz)"},
{"Menekşe         ","5  Hz","Theta (4-8 Hz)"},
{"Menekşe         ","4  Hz","Theta (4-8 Hz)"},
{"Menekşe         ","3  Hz","Delta (0-4 Hz)"},
{"Menekşe         ","2  Hz","Delta (0-4 Hz)"},
{"Menekşe         ","1  Hz","Delta (0-4 Hz)"},
{"Menekşe         ","0  Hz","Delta (0-4 Hz)"}
                        };
String[] headers={"Lumatron Rengi","Lumatron Frekansı",
"Etki ettiği beyin dalgası"};

public int getRowCount() {return data.length;}
public int getColumnCount() {return headers.length;}
public Object getValueAt(int r,int c) {return data[r][c];}
public String getColumnName(int c) {return headers[c];}
};
    jt=new JTable(tm);
    c=getContentPane();
    //x=c.getBounds().width;
    //y=c.getBounds().height;
    jtp=new JTabbedPane();
    p=new LumatronPanel(0,1);
    pp=new JPanel();
    pp.setLayout(new GridLayout(1,5));
    p1=new JPanel();
    p2=new JPanel();
    p1.setLayout(new BorderLayout());
    p2.setLayout(new BorderLayout());
    jtp.addTab("Grafik Ekranı",p);
    sekiller=new JComboBox(toSekil);
    sekiller.setSelectedIndex(0);
    String renklistesi[]=new String[17];
    for(int i=0;i<17;i++)
    {  renklistesi[i]=p.l.toString1(i); }
    renkler=new JComboBox(renklistesi);
    renkler.setSelectedIndex(0);
    renkler.addActionListener(this);
    //renkler.addItemListener(this);
    sekiller.addActionListener(this);
    //sekiller.addItemListener(this);
    ss1=new JScrollPane(renkler);
    ss2=new JScrollPane(sekiller);
    te1=new JTextArea(p.toString());
    te2=new JTextArea(p.toString1());
    pp.add(ss1);
    pp.add(ss2);
    p1.add(pp,BorderLayout.NORTH);
    p1.add(h,BorderLayout.CENTER);
    p1.setBackground(Color.black);
    p2.add(te1,BorderLayout.NORTH);
    p2.add(jt,BorderLayout.CENTER);
    p2.add(te2,BorderLayout.SOUTH);
    ss3=new JScrollPane(p2);
    jtp.addTab("Kontrol Ekranı",p1);
    jtp.addTab("Bilgi Ekranı",ss3);
    c.add(jtp,BorderLayout.CENTER);
    }
    // girdi alanindaki olan olaylari dinleme metodu

 public void actionPerformed(ActionEvent e)
 {
     //p.x=c.getWidth()/2;
     //p.y=c.getHeight()/2;
   for(int i=0;i<18;i++)
   {
     if(renkler.getSelectedIndex()==i)
     {
     p.s1=true;
     p.l.setLumatron(i);
     p.renk=p.l.getColor();
     p.s1=false;
     }
   }
   for(int i=0;i<16;i++)
   {
     if(sekiller.getSelectedIndex()==i)
     {
     p.s1=true;
     p.graphCode=i+1;
     p.s1=false;
     }
   }
 }

     //=====================================================
      public static void main(String[] args)
      {
      LumatronPanelTest pencere= new LumatronPanelTest();
      pencere.addWindowListener(new BasicWindowMonitor());
      pencere.setSize(1000,720);
      pencere.setVisible(true);
      }
}
