
//Title:        Gpa
//Version:      1.1
//Copyright:    Copyright (c) 1999
//Author:       Msaed Alotebi
//Company:      King Saud Univercity (KSU)


package untitled3;

import java.awt.*;
import javax.swing.*;
import com.borland.jbcl.layout.*;
import java.awt.event.*;

public class Frame1 extends JFrame {
int sa1,sa2,sa3,sa4,sa5,sa6;
String test1="", test2="", test3="", test4="", test5="", test6="";
  String aa[]={"A+","A","B+","B","C+","C","D+","D","F"};
  String hor[]={"0","1","2","3","4","5","6"};
  XYLayout xYLayout1 = new XYLayout();
  JComboBox jComboBox1 = new JComboBox(aa);
  JComboBox jComboBox2 = new JComboBox(aa);
  JComboBox jComboBox3 = new JComboBox(aa);
  JComboBox jComboBox4 = new JComboBox(aa);
  JComboBox jComboBox5 = new JComboBox(aa);
  JComboBox jComboBox6 = new JComboBox(aa);
  JLabel jLabel2 = new JLabel();
  JLabel jLabel3 = new JLabel();
  JLabel jLabel4 = new JLabel();
  JLabel jLabel5 = new JLabel();
  JLabel jLabel6 = new JLabel();
  JLabel jLabel7 = new JLabel();
  JComboBox jComboBox7 = new JComboBox(hor);
  JComboBox jComboBox8 = new JComboBox(hor);
  JComboBox jComboBox9 = new JComboBox(hor);
  JComboBox jComboBox10 = new JComboBox(hor);
  JComboBox jComboBox11 = new JComboBox(hor);
  JComboBox jComboBox12 = new JComboBox(hor);
  JButton jButton1 = new JButton();
  JTextField jTextField1 = new JTextField();
  JTextField jTextField2 = new JTextField();
  JLabel jLabel1 = new JLabel();
  JLabel jLabel8 = new JLabel();
  JButton jButton2 = new JButton();

  public Frame1() {
    try  {
      jbInit();
      setSize(400,400);
      setLocation(150,100);
      setVisible(true);
    }
    catch(Exception e) {
      e.printStackTrace();
    }
  }

  public static void main(String[] args) {
    Frame1 frame11 = new Frame1();
  }

  private void jbInit() throws Exception {
    this.getContentPane().setLayout(xYLayout1);
    jLabel2.setFont(new java.awt.Font("Dialog", 3, 12));
    jLabel2.setForeground(Color.blue);
    jLabel2.setText("Course3");
    jLabel3.setFont(new java.awt.Font("Dialog", 3, 12));
    jLabel3.setForeground(Color.blue);
    jLabel3.setText("Course4");
    jLabel4.setFont(new java.awt.Font("Dialog", 3, 12));
    jLabel4.setForeground(Color.blue);
    jLabel4.setText("Course2");
    jLabel5.setFont(new java.awt.Font("Dialog", 3, 12));
    jLabel5.setForeground(Color.blue);
    jLabel5.setText("Course6");
    jLabel6.setFont(new java.awt.Font("Dialog", 3, 12));
    jLabel6.setForeground(Color.blue);
    jLabel6.setText("Course1");
    jLabel7.setFont(new java.awt.Font("Dialog", 3, 12));
    jLabel7.setForeground(Color.blue);
    jLabel7.setText("Course5");
    jComboBox6.addActionListener(new java.awt.event.ActionListener() {

      public void actionPerformed(ActionEvent e) {
        jComboBox6_actionPerformed(e);
      }
    });
    xYLayout1.setHeight(349);
    xYLayout1.setWidth(400);
    jButton1.setForeground(Color.red);
    jButton1.setText("Compute");
    jButton1.addActionListener(new java.awt.event.ActionListener() {

      public void actionPerformed(ActionEvent e) {
        jButton1_actionPerformed(e);
      }
    });
    jLabel1.setFont(new java.awt.Font("Dialog", 3, 12));
    jLabel1.setForeground(Color.blue);
    jLabel1.setText("hours");
    jLabel8.setFont(new java.awt.Font("Dialog", 3, 12));
    jLabel8.setForeground(Color.blue);
    jLabel8.setText("gpa");
    jButton2.setForeground(Color.red);
    jButton2.setText("About Me");
    jButton2.addActionListener(new java.awt.event.ActionListener() {

      public void actionPerformed(ActionEvent e) {
        jButton2_actionPerformed(e);
      }
    });
    this.getContentPane().setBackground(Color.pink);
    jComboBox1.setForeground(Color.red);
    jComboBox2.setForeground(Color.red);
    jComboBox3.setForeground(Color.red);
    jComboBox4.setForeground(Color.red);
    jComboBox5.setForeground(Color.red);
    jComboBox6.setForeground(Color.red);
    jComboBox7.setForeground(Color.red);
    jComboBox8.setForeground(Color.red);
    jComboBox9.setForeground(Color.red);
    jComboBox10.setForeground(Color.red);
    jComboBox11.setForeground(Color.red);
    jComboBox12.setForeground(Color.red);
    this.getContentPane().add(jComboBox6, new XYConstraints(78, 260, 49, 22));
    this.getContentPane().add(jComboBox1, new XYConstraints(78, 60, 49, 22));
    this.getContentPane().add(jComboBox2, new XYConstraints(78, 100, 49, 22));
    this.getContentPane().add(jComboBox3, new XYConstraints(78, 140, 49, 22));
    this.getContentPane().add(jComboBox4, new XYConstraints(78, 180, 49, 22));
    this.getContentPane().add(jComboBox5, new XYConstraints(78, 220, 49, 22));
    this.getContentPane().add(jLabel6, new XYConstraints(-1, 66, 67, 20));
    this.getContentPane().add(jLabel4, new XYConstraints(-1, 100, 57, 20));
    this.getContentPane().add(jLabel2, new XYConstraints(-1, 142, 50, 20));
    this.getContentPane().add(jLabel3, new XYConstraints(0, 182, 54, 20));
    this.getContentPane().add(jLabel7, new XYConstraints(0, 221, 58, 20));
    this.getContentPane().add(jLabel5, new XYConstraints(-1, 263, 62, 19));
    this.getContentPane().add(jComboBox8, new XYConstraints(137, 103, 61, 18));
    this.getContentPane().add(jComboBox10, new XYConstraints(136, 181, 64, 19));
    this.getContentPane().add(jComboBox11, new XYConstraints(138, 221, 62, 19));
    this.getContentPane().add(jComboBox7, new XYConstraints(139, 62, 57, 19));
    this.getContentPane().add(jComboBox9, new XYConstraints(137, 142, 61, 18));
    this.getContentPane().add(jComboBox12, new XYConstraints(136, 263, 67, 18));
    this.getContentPane().add(jTextField1, new XYConstraints(288, 68, 96, 20));
    this.getContentPane().add(jTextField2, new XYConstraints(287, 99, 96, 23));
    this.getContentPane().add(jLabel1, new XYConstraints(251, 70, 37, 14));
    this.getContentPane().add(jLabel8, new XYConstraints(256, 102, 25, -1));
    this.getContentPane().add(jButton1, new XYConstraints(286, 158, 87, 30));
    this.getContentPane().add(jButton2, new XYConstraints(288, 222, 95, -1));
  }

  void jComboBox6_actionPerformed(ActionEvent e) {

  }

  void jButton1_actionPerformed(ActionEvent e) {

    try{
    test1=jComboBox1.getSelectedItem().toString();
    sa1=Integer.parseInt(jComboBox7.getSelectedItem().toString());
    test2=jComboBox2.getSelectedItem().toString();
    sa2=Integer.parseInt(jComboBox8.getSelectedItem().toString());
    test3=jComboBox3.getSelectedItem().toString();
    sa3=Integer.parseInt(jComboBox9.getSelectedItem().toString());
    test4=jComboBox4.getSelectedItem().toString();
    sa4=Integer.parseInt(jComboBox10.getSelectedItem().toString());
    test5=jComboBox5.getSelectedItem().toString();
    sa5=Integer.parseInt(jComboBox11.getSelectedItem().toString());
    test6=jComboBox6.getSelectedItem().toString();
    sa6=Integer.parseInt(jComboBox12.getSelectedItem().toString());
  double  sum1,sum2,sum3,sum4,sum5,sum6;
    sum1=calculat1();
    sum2=calculat2();
    sum3=calculat3();
    sum4=calculat4();
    sum5=calculat5();
    sum6=calculat6();

    int sumc=sa1+sa2+sa3+sa4+sa5+sa6;
    double pointC=sum1+sum2+sum3+sum4+sum5+sum6;
    double grade=(pointC)/(sumc);
    int Hourse=Integer.parseInt(jTextField1.getText());
    if(Hourse<0)
    {
    JOptionPane.showMessageDialog(null," You Must Enter Integer Vlaue From 0.1.2....etc");
    }
    else{
    int sumH=sumc+ Hourse;
    double gpa=Double.parseDouble(jTextField2.getText());
    if(gpa>=0&&gpa<=5)
    {
    double point =gpa*Hourse;
    double TotPoint=pointC+point;
    double TotHours=Hourse+sumc;
    double TotGrade=TotPoint/TotHours;

    display(grade,TotGrade);
    }
    else
    JOptionPane.showMessageDialog(null,"Gpa >=0  And  Gpa<=5");
    }
  }
  catch(Exception ex)
  {
  JOptionPane.showMessageDialog(null,"Error"+"\n"+"You Must enter Values In Hours Field And Gpa Field ");
  jTextField2.setText("");
  jTextField1.setText("");
  }


  }
  public double calculat1()
  {
  double sumAll=0;
  if(test1.equals("A+"))
  sumAll=5*sa1;
  else
  if(test1.equals("A"))
  sumAll=4.75*sa1;
  else
  if(test1.equals("B+"))
  sumAll=4.5*sa1;
  else
  if(test1.equals("B"))
  sumAll=4*sa1;
  else
  if(test1.equals("C+"))
  sumAll=3.5*sa1;
  else
  if(test1.equals("C"))
  sumAll=3*sa1;
  else
  if(test1.equals("D+"))
  sumAll=2.5*sa1;
  else
  if(test1.equals("D"))
  sumAll=2*sa1;
  else
  if(test1.equals("F"))
  sumAll=1.5*sa1;

  return sumAll;

  }
  public double calculat2()
  {
    double sumAll=0;
  if(test2.equals("A+"))
  sumAll=5*sa2;
  else
  if(test2.equals("A"))
  sumAll=4.75*sa2;
  else
  if(test2.equals("B+"))
  sumAll=4.5*sa2;
  else
  if(test2.equals("B"))
  sumAll=4*sa2;
  else
  if(test2.equals("C+"))
  sumAll=3.5*sa2;
  else
  if(test2.equals("C"))
  sumAll=3*sa2;
  else
  if(test2.equals("D+"))
  sumAll=2.5*sa2;
  else
  if(test2.equals("D"))
  sumAll=2*sa2;
  else
  if(test2.equals("F"))
  sumAll=1.5*sa2;

  return sumAll;
  }
  public double calculat3()
  {
    double sumAll=0;
  if(test3.equals("A+"))
  sumAll=5*sa3;
  else
  if(test3.equals("A"))
  sumAll=4.75*sa3;
  else
  if(test3.equals("B+"))
  sumAll=4.5*sa3;
  else
  if(test3.equals("B"))
  sumAll=4*sa3;
  else
  if(test3.equals("C+"))
  sumAll=3.5*sa3;
  else
  if(test3.equals("C"))
  sumAll=3*sa3;
  else
  if(test3.equals("D+"))
  sumAll=2.5*sa3;
  else
  if(test3.equals("D"))
  sumAll=2*sa3;
  else
  if(test3.equals("F"))
  sumAll=1.5*sa3;

  return sumAll;
  }

  public double calculat4()
  {
    double sumAll=0;
  if(test4.equals("A+"))
  sumAll=5*sa4;
  else
  if(test4.equals("A"))
  sumAll=4.75*sa4;
  else
  if(test4.equals("B+"))
  sumAll=4.5*sa4;
  else
  if(test4.equals("B"))
  sumAll=4*sa4;
  else
  if(test4.equals("C+"))
  sumAll=3.5*sa4;
  else
  if(test4.equals("C"))
  sumAll=3*sa4;
  else
  if(test4.equals("D+"))
  sumAll=2.5*sa4;
  else
  if(test4.equals("D"))
  sumAll=2*sa4;
  else
  if(test4.equals("F"))
  sumAll=1.5*sa4;

  return sumAll;
  }

  public double calculat5()
  {
    double sumAll=0;
  if(test5.equals("A+"))
  sumAll=5*sa2;
  else
  if(test5.equals("A"))
  sumAll=4.75*sa5;
  else
  if(test5.equals("B+"))
  sumAll=4.5*sa5;
  else
  if(test5.equals("B"))
  sumAll=4*sa5;
  else
  if(test5.equals("C+"))
  sumAll=3.5*sa5;
  else
  if(test5.equals("C"))
  sumAll=3*sa5;
  else
  if(test5.equals("D+"))
  sumAll=2.5*sa5;
  else
  if(test5.equals("D"))
  sumAll=2*sa5;
  else
  if(test5.equals("F"))
  sumAll=1.5*sa5;

  return sumAll;
  }

  public double calculat6()
  {
    double sumAll=0;
  if(test6.equals("A+"))
  sumAll=5*sa6;
  else
  if(test6.equals("A"))
  sumAll=4.75*sa6;
  else
  if(test6.equals("B+"))
  sumAll=4.5*sa6;
  else
  if(test6.equals("B"))
  sumAll=4*sa6;
  else
  if(test6.equals("C+"))
  sumAll=3.5*sa6;
  else
  if(test6.equals("C"))
  sumAll=3*sa6;
  else
  if(test6.equals("D+"))
  sumAll=2.5*sa6;
  else
  if(test6.equals("D"))
  sumAll=2*sa6;
  else
  if(test6.equals("F"))
  sumAll=1.5*sa6;

  return sumAll;
  }
  public void display(double grade,double TotGrade)
  {
   setVisible(false);
  final JFrame frame=new JFrame("Result ");
  frame.getContentPane().setLayout(new FlowLayout());
  JPanel panel=new JPanel();
  panel.setLayout(new GridLayout(3,2));
  JTextField t1=new JTextField(""+grade);
  t1.setEditable(false);
  JTextField t2=new JTextField(""+TotGrade);
  t2.setEditable(false);
  panel.add(new JLabel("Course GPA"));
  panel.add(t1);
  panel.add(new JLabel("Total Gpa"));
  panel.add(t2);
  JButton ok=new JButton("Exit ");
  JButton back=new JButton("Back ");
  panel.add(back);
  panel.add(ok) ;
  frame.getContentPane().add(panel);
  ok.addActionListener(new ActionListener()
  {
  public void actionPerformed(ActionEvent e)
  {
  System.exit(0);
  }

  }
  );
  back.addActionListener(new ActionListener()
  {
  public void actionPerformed(ActionEvent e)
  {
  frame.setVisible(false);
  setVisible(true);
  }

  }
  );
  frame.setSize(200,200);
  frame.setLocation(150,100);
  frame.setVisible(true);

  }

  void jButton2_actionPerformed(ActionEvent e) {
    String s="Name : Msaed Abdullah Alotebi "+"\n"+
             "King Saud Univercity "+"\n"+
             "Project Name : Gpa "+"\n"+
             "Discription : We Assume 6 Course each Course have"+"\n"+
             "Hourse (( MiniMum Hourse 0 And Maximum 6)"+"\n"+
             "in Gpa Field Enter your Current Gpa "+"\n"+
             "in Hourse Field Enter the Number of Hourse "+"\n"+
             "that Your Study without this Term"+"\n";
    JOptionPane.showMessageDialog(null,s);

  }



}
