Study/Java

12. 09. 26 과제

Houkibosi 2012. 9. 26. 13:51

import java.awt.*;
import java.awt.event.*;

import javax.swing.*;
import javax.swing.border.TitledBorder;

class Student extends JFrame
{
 private JPanel panel = new JPanel();
 private JPanel inputGrade = new JPanel();

 private JLabel studentName = new JLabel(), test1 = new JLabel(),
   test2 = new JLabel(), test3 = new JLabel(), display = new JLabel(),
   classAverage = new JLabel();

 private JTextField studentName1 = new JTextField(),
   test11 = new JTextField(), test21 = new JTextField(),
   test31 = new JTextField(), classAverage1 = new JTextField();

 private JButton submitGrads = new JButton();

 private JTextArea display1 = new JTextArea();
 private JScrollPane LogScrollPane = new JScrollPane(display1);

 private JRadioButton NumericButton = new JRadioButton();
 private JRadioButton LetterButton = new JRadioButton();
 private ButtonGroup group = new ButtonGroup();

 public Student()
 {
  setTitle("Student Greade");
  setSize(670, 308);
  setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
  panel.setLayout(null);

  inputGrade.setBounds(16, 16, 208, 218);
  inputGrade.setBorder(new TitledBorder("input Greade"));
  inputGrade.setLayout(null);
  panel.add(inputGrade);

  studentName.setBounds(8, 32, 90, 23);
  studentName.setText("student Name");
  inputGrade.add(studentName);

  studentName1.setBounds(104, 32, 88, 21);
  studentName1.setHorizontalAlignment(JTextField.RIGHT);
  inputGrade.add(studentName1);

  test1.setBounds(8, 74, 60, 23);
  test1.setText("Test1:");
  inputGrade.add(test1);

  test11.setBounds(136, 74, 56, 21);
  test11.setHorizontalAlignment(JTextField.RIGHT);
  inputGrade.add(test11);

  test2.setBounds(8, 98, 60, 23);
  test2.setText("test 2 :");
  inputGrade.add(test2);

  test21.setBounds(136, 98, 56, 21);
  test21.setHorizontalAlignment(JTextField.RIGHT);
  inputGrade.add(test21);

  test3.setBounds(8, 122, 60, 23);
  test3.setText("test 3:");
  inputGrade.add(test3);

  test31.setBounds(136, 122, 56, 21);
  test31.setHorizontalAlignment(JTextField.RIGHT);
  inputGrade.add(test31);

  submitGrads.setBounds(72, 182, 120, 24);
  submitGrads.setText("submit Grades");
  inputGrade.add(submitGrads);
  submitGrads.addActionListener(new MyListener());

  display.setBounds(240, 16, 150, 23);
  display.setText("Average of each student:");
  panel.add(display);

  display1.setEditable(false);
  LogScrollPane.setBounds(240, 48, 402, 184);
  panel.add(LogScrollPane);

  classAverage.setBounds(490, 244, 96, 23);
  classAverage.setText("Class average:");
  panel.add(classAverage);

  classAverage1.setBounds(586, 244, 56, 23);
  classAverage1.setHorizontalAlignment(JTextField.CENTER);
  classAverage1.setEditable(false);
  panel.add(classAverage1);

  NumericButton.setText("Numeric");
  NumericButton.setBounds(40, 244, 100, 21);
  NumericButton.doClick();
  panel.add(NumericButton);

  LetterButton.setText("Letter");
  LetterButton.setBounds(140, 244, 100, 21);
  panel.add(LetterButton);

  group.add(NumericButton);
  group.add(LetterButton);

  add(panel);
  setVisible(true);
 }

 class MyListener implements ActionListener
 {
  public void actionPerformed(ActionEvent e)
  {
   if (e.getSource() == submitGrads)
   {
    String grade;
    int average = ((Integer.parseInt(test11.getText())
      + Integer.parseInt(test21.getText()) + Integer
      .parseInt(test31.getText())) / 3);

    if (average >= 90)
     grade = "A";
    else if (average >= 80)
     grade = "B";
    else if (average >= 70)
     grade = "C";
    else if (average >= 60)
     grade = "D";
    else
     grade = "F";

    if (NumericButton.isSelected())
    {

     display1.setText(studentName1.getText() + "님의 점수는  " + average + "입니다.");
     classAverage1.setText(grade);
    } else if (LetterButton.isSelected())
    {
     display1.setText(studentName1.getText() + "님의 등급은= " + grade + "입니다.");
     classAverage1.setText(grade);
    }
   }
  }
 }
}

public class Test
{
 public static void main(String[] args)
 {
  Student student = new Student();

  // System.exit(0);
 }
}