티스토리 뷰

1. Student.java


package ScoreMana;

public class Student {
	String Name, Bun, Friend, Movie, Food, Music;
	int kor, eng, math, sci;
	double sum, avg;

	public Student(String name, String bun, int kor, int eng, int math, int sci, String food, String music,
			String friend, String movie) {
		this.Name = name;
		this.Bun = bun;
		this.kor = kor;
		this.eng = eng;
		this.math = math;
		this.sci = sci;
		this.Food = food;
		this.Music = music;
		this.Friend = friend;
		this.Movie = movie;
		sum = kor + eng + math + sci;
		avg = (double) sum / 4;

	}
}

2. MyListener.java


package ScoreMana;

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

public class MyListener implements WindowListener {
	public void windowClosing(WindowEvent ev) {
		System.exit(0);
	}

	public void windowActivated(WindowEvent ev) {
	}

	public void windowClosed(WindowEvent e) {
	}

	public void windowDeactivated(WindowEvent e) {
	}

	public void windowDeiconified(WindowEvent e) {
	}

	public void windowIconified(WindowEvent e) {
	}

	public void windowOpened(WindowEvent e) {
	}
}

3. Student_Test.java


package ScoreMana;

public class Student_Test {

	public static void main(String[] args) {
		Student_awt awt = new Student_awt("나의성적계산프로그램");

	}

}

4. Student_awt.java


package ScoreMana;

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

public class Student_awt extends Frame implements ActionListener, ItemListener {

	Panel[] panel = new Panel[5];// 패널구역5개

	Label[] la = new Label[11];// 라벨
	String laname[] = { "이름", "학번", "국어", "영어", "수학", "과학", "  "
			+ " 좋아하는음식  ", "   좋아하는음악  ", "출력", "좋아하는친구", "좋아하는영화" };// 항목이름

	TextField[] tf = new TextField[6];// 텍스트필드

	Checkbox[] cb = new Checkbox[6];// 체크란
	CheckboxGroup cbg1 = new CheckboxGroup();// 좋아하는음식
	CheckboxGroup cbg2 = new CheckboxGroup();// 좋아하는음악

	TextArea ta = new TextArea(10, 30);// 출력창

	Student[] stu = new Student[10];

	Choice ch = new Choice();
	List list = new List(5);// 리스트

	Button[] button = new Button[3];// 버튼
	String[] btname = { "배열저장", "출력", "종료" };// 버튼이름

	GridLayout gl = new GridLayout(3, 1);// 버튼3행1열

	String music, food;// 배열저장과출력값을위한변수
	int count = 0;// 저장출력값을위해for문으로돌릴때필요하다

	public Student_awt(String t) {
		super(t);
		setLayout(null);

		for (int i = 0; i < panel.length; i++) {// 패널생성
			panel[i] = new Panel();
		}
		for (int i = 0; i < button.length; i++) {// 버튼생성
			button[i] = new Button(btname[i]);
			button[i].addActionListener(this);
			panel[4].add(button[i]);
		}

		for (int i = 0; i < cb.length; i++) {// 체크박스생성
			cb[i] = additemListener(this);
		}

		for (int i = 0; i < la.length; i++) {// 라벨생성
			la[i] = new Label(laname[i]);
		}

		for (int i = 0; i < tf.length; i++) {// 텍스트필드(같은패널안에집어넣으려면2번째생성한포문안에순서대로입력같이생성)
			la[i] = new Label(laname[i]);
			tf[i] = new TextField(10);
			panel[0].add(la[i]);
			panel[0].add(tf[i]);
		}

		panel[0].setBounds(10, 55, 150, 180);// 라벨패널
		panel[0].setBackground(Color.green);
		add(panel[0]);


		panel[2].setBounds(200, 50, 300, 200);// 출력패널
		panel[2].setBackground(Color.pink);
		panel[2].add(la[8]);
		panel[2].add(ta);
		add(panel[2]);

		panel[3].setBounds(200, 270, 150, 200);
		panel[3].setBackground(Color.cyan);
		panel[3].add(la[9]);// 좋아하는친구
		ch.add("-----선택-----");
		ch.add("신현의");
		ch.add("황창하");
		ch.add("윤승욱");
		ch.add("윤재훈");
		panel[3].add(ch);// 패널3에초이스추가

		panel[3].add(la[10]);// 좋아하는영화
		list.add("내부자들");
		list.add("정글북");
		list.add("이응이응");
		list.add("주토피아");
		panel[3].add(list);// 패널3에리스트추가
		add(panel[3]);

		panel[4].setBounds(360, 270, 150, 200);
		panel[4].setBackground(Color.DARK_GRAY);
		panel[4].setLayout(gl);
		add(panel[4]);

		setSize(600, 600);

		setVisible(true);
		addWindowListener(new MyListener());
	}

	private Checkbox additemListener(Student_awt student_awt) {
		// TODO Auto-generated method stub
		return null;
	}

	public void actionPerformed(ActionEvent e) {// 값계산
		int sum = 0;
		Object o = e.getSource();

		if (o == button[0]) {
			stu[count] = new Student(tf[0].getText(), tf[1].getText(), Integer.parseInt(tf[2].getText()),
					Integer.parseInt(tf[3].getText()), Integer.parseInt(tf[4].getText()),
					Integer.parseInt(tf[5].getText()), food, music, ch.getSelectedItem(), list.getSelectedItem());
			count++;
			for (int i = 0; i < tf.length; i++) {
				tf[i].setText("");
			}
		} else if (o == button[1]) {
			for (int i = 0; i < count; i++) {
				ta.append("이름=" + stu[i].Name + "\n");// 학생클래스처음선언해준변수를넣어주어야한다.
				ta.append("학번= " + stu[i].Bun + "\n");
				ta.append("국어= " + stu[i].kor + "\n");
				ta.append("영어= " + stu[i].eng + "\n");
				ta.append("수학= " + stu[i].math + "\n");
				ta.append("과학= " + stu[i].sci + "\n");
				ta.append("총점= " + stu[i].sum + "\n");
				ta.append("평균= " + stu[i].avg + "\n");
				ta.append("좋아하는친구= " + stu[i].Friend + "\n");
				ta.append("좋아하는영화= " + stu[i].Movie + "\n");

			}
		} else if (o == button[2]) {
			System.exit(0);
		}

	}

	public void itemStateChanged(ItemEvent e) {// 체크박스값넘겨주기
		Object o = e.getSource();

		if (o == cb[0]) {// 좋아하는음식넘겨주기
			food = cb[0].getLabel();
		} else if (o == cb[1]) {
			food = cb[1].getLabel();
		} else if (o == cb[2]) {
			food = cb[2].getLabel();
		}

		if (o == cb[3]) {// 좋아하는음식넘겨주기
			music = cb[3].getLabel();
		} else if (o == cb[4]) {
			music = cb[4].getLabel();
		} else if (o == cb[5]) {
			music = cb[5].getLabel();
		}
	}
}


결과









'프로그래밍 > Java Programming' 카테고리의 다른 글

AWT 기본만들기  (0) 2018.04.07
자바 도서관리 AWT  (0) 2018.04.07
자바 강수량 구하기 AWT  (0) 2018.04.07
스레드 파일입력  (0) 2018.04.06
스레드 Thread 기본  (0) 2018.04.06
댓글
공지사항
글 보관함
최근에 올라온 글
최근에 달린 댓글