import java.io.*;
import javax.swing.*;
import java.awt.*;
import java.awt.event.*;
 public class elbaTest1 extends JFrame implements ActionListener
 {
  double Sk;
  double np;
  double P[];
  String RaporNo;
  String dosyaismi;
  JLabel l1[];           // Label prompt unit
  JLabel l2[];           // Label prompt unit
  JLabel l3[];           // Label prompt unit
  JLabel l4;
  JTextField t1[];
  JTextField t2[];
  JButton pn[];
  JButton B1,B2;
  JButton Bn[];
  JTable jt[];
  JTabbedPane jtp;
  private String S1[]={"Rapor No(Rapor başlığını giriniz)","Isıl güç ışınım faktörü Sk bakınız: TS EN442-2 Mart1998 Çizelge 4","Basınç düzeltme np üssel değeri bakınız: TS EN442-2 Mart1998 Çizelge 4"};   
  pictureP p2=new pictureP("TSEN442_2_C4.jpg"); 
  private String S[]={"Giriş sayfası","TS EN442-2 Mart1998 Çizelge 4"};
  private Container c;
  JPanel p1=new JPanel();
  //JPanel p2=new JPanel()
  JPanel p3=new JPanel();
  JPanel p4=new JPanel();
  JPanel p5=new JPanel();
  JPanel p6=new JPanel();
  JTextArea jtarea;
  elba_kalibrasyon_excel1 EK;
 public elbaTest1(String ss) throws IOException
 { 
 super(ss);
 jtarea=new JTextArea();
 Bn=new JButton[3];
 Sk=0.3;
 np=0.4;
 P=new double[3]; 
 P[0]=100.4;
 P[1]=100.2;
 P[2]=100.9;
 pn=new JButton[3];
 for(int i=0;i<3;i++) pn[i]=new JButton();
 RaporNo="DEKORPAN";
 dosyaismi="DEKORPAN.xls"; 
 p1.setLayout(new GridLayout(4,2,5,5));
 p3.setLayout(new GridLayout(3,3,5,5));
 p6.setLayout(new BorderLayout(5,5));
 p5.setLayout(new BorderLayout(5,5));
 l1=new JLabel[4];
 l2=new JLabel[3];
 l3=new JLabel[3];
 t2=new JTextField[3];
 JPanel jpan[];
 for(int i=0;i<3;i++) 
 {l1[i]=new JLabel(S1[i]);}
 l1[3]=new JLabel("Dosya adı (yeni dosya okumak için düğmeye basınız)");
 B1=new JButton(dosyaismi);
 B2=new JButton("                                      Yeni değerleri hesaplamak için basınız                                          ");
 t1=new JTextField[3];
 t1[0]=new JTextField(RaporNo);
 t1[1]=new JTextField(""+Sk);
 t1[2]=new JTextField(""+np);
 Boolean readerror=true;
 do
 {
 try{ 
 EK=new elba_kalibrasyon_excel1(pn,RaporNo,P,Sk,np,dosyaismi);
 readerror=false;
    } catch(IOException ee) 
    {
	    readerror=true;
       JFileChooser fc=new JFileChooser();
       ExampleFileFilter filter = new ExampleFileFilter();
       filter.addExtension("xls");
       filter.setDescription("Excel dosyası açımı");
       fc.setFileFilter(filter);
       if (fc.showOpenDialog(null) == JFileChooser.APPROVE_OPTION) 
       {File file = fc.getSelectedFile();dosyaismi=file.getName(); }                  
       readerror=true;
   }
 } while(readerror);// end of while
 for(int i=0;i<3;i++) 
 {p1.add(l1[i]);p1.add(t1[i]);  
  l2[i]=new JLabel(EK.isim[i]);
  t2[i]=new JTextField("                         "+EK.P[i]);
  l3[i]=new JLabel(" kPa");
  p3.add(l2[i]);p3.add(t2[i]);p3.add(l3[i]);
 }
 String sjtarea="Rapor No : "+RaporNo+"\n"+"Girdi dosyası : "+dosyaismi+"\nÇıktı dosyası : "+EK.ciktidosyaismi+"\n";
 jtarea=new JTextArea(sjtarea);
 p1.add(l1[3]);
 p1.add(B1);

 p5.add(p1,BorderLayout.NORTH);
 p5.add(p3,BorderLayout.CENTER);
 
 jtp=new JTabbedPane();
 p6.add(p5,BorderLayout.NORTH);
 p6.add(B2,BorderLayout.SOUTH);
 p6.add(jtarea,BorderLayout.CENTER);
 jtp.addTab(S[0],p6);
 jtp.addTab(S[1],p2); 
 for(int i=0;i<3;i++)
 { t1[i].addActionListener(this);
   t2[i].addActionListener(this);
   jtp.addTab(RaporNo+"  "+EK.isim[i],pn[i]); 
 }
 add(jtp);
 B1.addActionListener(this);
 B2.addActionListener(this);
 
}

 public void actionPerformed(ActionEvent e) 
 {
  if (e.getSource()==t1[0])
    {RaporNo=t1[0].getText();t1[0].setText(""+RaporNo);
    System.out.println("RaporNo="+RaporNo);
    }
  else if (e.getSource()==t1[1])
    {Sk=Double.parseDouble(t1[1].getText());t1[1].setText(""+Sk);}
  else if (e.getSource()==t1[2])
    {np=Double.parseDouble(t1[2].getText());t1[2].setText(""+np);}
  else if (e.getSource()==B1)
    {  JFileChooser fc=new JFileChooser();
       ExampleFileFilter filter = new ExampleFileFilter();
       filter.addExtension("xls");
       filter.setDescription("Excel dosyası açımı");
       fc.setFileFilter(filter);
       if (fc.showOpenDialog(null) == JFileChooser.APPROVE_OPTION) {File file = fc.getSelectedFile();dosyaismi=file.getName(); };
       B1.setText(dosyaismi);
    }
    else if (e.getSource()==t2[0])
    {P[0]=Double.parseDouble(t2[0].getText());}
    else if (e.getSource()==t2[1])
    {P[1]=Double.parseDouble(t2[1].getText());}
    else if (e.getSource()==t2[0])
    {P[0]=Double.parseDouble(t2[0].getText());}
    else if (e.getSource()==B2)
    { for(int i=0;i<3;i++) pn[i]=new JButton();
      try{EK=new elba_kalibrasyon_excel1(pn,RaporNo, P,Sk,np,dosyaismi);    
         } catch(IOException ee) 
    {System.out.println("Okuma hatası lütfen excell girdi dosyasının kapalı olduğuna emin olun");}       
    //jtp=new JTabbedPane();
    //jtp.addTab(S[0],p5);
    //jtp.addTab(S[1],p2); 
    for(int i=0;i<3;i++)
    { jtp.addTab(RaporNo+"  "+EK.isim[i],pn[i]); }
     String sjtarea=jtarea.getText()+"===========\n Rapor No : "+RaporNo+"\n"+"Girdi dosyası : "+dosyaismi+"\nÇıktı dosyası : "+EK.ciktidosyaismi+"\n";
     jtarea.setText(sjtarea);
    }
    validate();   
}
      public static void main(String[] args)
      { 
        try
        {
	    elbaTest f = new elbaTest("ELBA Kalibrasyon Excell Rapor çıktısı");       
	    f.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );       
        f.setSize(850,500);
        f.setVisible(true);
        } catch(IOException ee) {System.out.println("Hata oluştu lütfen excell dosyasını kapatınız");};  
      }
 }
